From 83f1d2c7a634bf99bff14e2d9bb4b8a417c6adb3 Mon Sep 17 00:00:00 2001 From: Alexandre SPIESER Date: Sat, 6 Jun 2020 12:06:28 +0100 Subject: [PATCH] nuget package works locally --- .../CoreIntegrationTests.csproj | 5 +- IntegrationTests/IntegrationTests.csproj | 4 +- IntegrationTests/packages.config | 2 +- .../MongoDbGenericRepository.csproj | 19 +- .../MongoDbGenericRepository.nuspec | 22 +- .../MongoDbGenericRepository.xml | 498 ++ .../lib/net452/MongoDbGenericRepository.dll | Bin 166912 -> 183296 bytes .../lib/net452/MongoDbGenericRepository.xml | 4520 ----------------- .../MongoDbGenericRepository.deps.json | 1829 ------- .../MongoDbGenericRepository.dll | Bin 167424 -> 183296 bytes .../MongoDbGenericRepository.xml | 4520 ----------------- .../MongoDbGenericRepository.deps.json | 1612 ------ .../MongoDbGenericRepository.dll | Bin 166912 -> 183296 bytes .../MongoDbGenericRepository.xml | 4520 ----------------- 14 files changed, 528 insertions(+), 17023 deletions(-) delete mode 100644 MongoDbGenericRepository/lib/net452/MongoDbGenericRepository.xml delete mode 100644 MongoDbGenericRepository/lib/netstandard1.5/MongoDbGenericRepository.deps.json delete mode 100644 MongoDbGenericRepository/lib/netstandard1.5/MongoDbGenericRepository.xml delete mode 100644 MongoDbGenericRepository/lib/netstandard2.0/MongoDbGenericRepository.deps.json delete mode 100644 MongoDbGenericRepository/lib/netstandard2.0/MongoDbGenericRepository.xml diff --git a/CoreIntegrationTests/CoreIntegrationTests.csproj b/CoreIntegrationTests/CoreIntegrationTests.csproj index 1fcb1a2..1d7ff56 100644 --- a/CoreIntegrationTests/CoreIntegrationTests.csproj +++ b/CoreIntegrationTests/CoreIntegrationTests.csproj @@ -8,6 +8,7 @@ + all @@ -17,10 +18,6 @@ - - - - ..\..\..\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.6.1\System.Configuration.dll diff --git a/IntegrationTests/IntegrationTests.csproj b/IntegrationTests/IntegrationTests.csproj index 7d7a821..3bfc2da 100644 --- a/IntegrationTests/IntegrationTests.csproj +++ b/IntegrationTests/IntegrationTests.csproj @@ -49,8 +49,8 @@ ..\packages\MongoDB.Driver.Core.2.9.3\lib\net452\MongoDB.Driver.Core.dll - - ..\packages\MongoDbGenericRepository.1.4.3\lib\net452\MongoDbGenericRepository.dll + + ..\packages\MongoDbGenericRepository.1.4.4\lib\net452\MongoDbGenericRepository.dll ..\packages\NUnit.3.12.0\lib\net45\nunit.framework.dll diff --git a/IntegrationTests/packages.config b/IntegrationTests/packages.config index 051c393..5b90bd2 100644 --- a/IntegrationTests/packages.config +++ b/IntegrationTests/packages.config @@ -5,7 +5,7 @@ - + diff --git a/MongoDbGenericRepository/MongoDbGenericRepository.csproj b/MongoDbGenericRepository/MongoDbGenericRepository.csproj index 271cf8f..f451cd3 100644 --- a/MongoDbGenericRepository/MongoDbGenericRepository.csproj +++ b/MongoDbGenericRepository/MongoDbGenericRepository.csproj @@ -3,13 +3,20 @@ net452;netstandard2.0;netstandard1.5; MongoDbGenericRepository - 1.2.0 + 1.4.4 Alexandre Spieser + MongoDb Generic Repository A generic repository implementation using the MongoDB C# Sharp 2.0 driver. + http://www.opensource.org/licenses/mit-license.php + http://www.opensource.org/licenses/mit-license.php false - .NET Core supported. - Copyright 2017 (c) Alexandre Spieser. All rights reserved. - MongoDb Repository NoSql Generic + Release notes are at https://github.com/alexandre-spieser/mongodb-generic-repository/releases + Copyright 2020 (c) Alexandre Spieser. All rights reserved. + MongoDb Repository Generic NoSql + true + 1.4.4 + https://github.com/alexandre-spieser/mongodb-generic-repository + Git @@ -20,6 +27,10 @@ + + D:\development\mongodb-generic-repository\MongoDbGenericRepository\MongoDbGenericRepository.xml + + diff --git a/MongoDbGenericRepository/MongoDbGenericRepository.nuspec b/MongoDbGenericRepository/MongoDbGenericRepository.nuspec index f6b47e2..5d8db30 100644 --- a/MongoDbGenericRepository/MongoDbGenericRepository.nuspec +++ b/MongoDbGenericRepository/MongoDbGenericRepository.nuspec @@ -2,7 +2,7 @@ MongoDbGenericRepository - 1.4.3 + 1.4.4 MongoDb Generic Repository Alexandre Spieser Alexandre Spieser @@ -11,18 +11,18 @@ false A generic repository implementation using the MongoDB C# Sharp 2.0 driver. Release notes are at https://github.com/alexandre-spieser/mongodb-generic-repository/releases - Copyright 2019 (c) Alexandre Spieser. All rights reserved. + Copyright 2020 (c) Alexandre Spieser. All rights reserved. MongoDb Repository Generic NoSql - - - - - - - - - + + + + + + + + + diff --git a/MongoDbGenericRepository/MongoDbGenericRepository.xml b/MongoDbGenericRepository/MongoDbGenericRepository.xml index f8a95b1..9805841 100644 --- a/MongoDbGenericRepository/MongoDbGenericRepository.xml +++ b/MongoDbGenericRepository/MongoDbGenericRepository.xml @@ -155,6 +155,94 @@ The new value of the property field. The value of the partition key. + + + For the entities selected by the filter, updates the property field with the given value. + + The type representing a Document. + The type of the primary key for a Document. + The type of the field. + The document filter. + The field selector. + The new value of the property field. + The partition key for the document. + + + + For the entities selected by the filter, updates the property field with the given value. + + The type representing a Document. + The type of the primary key for a Document. + The type of the field. + The document filter. + The field selector. + The new value of the property field. + The value of the partition key. + + + + For the entities selected by the filter, applies the update you have defined in MongoDb. + + The type representing a Document. + The type of the primary key for a Document. + The document filter. + The update definition to apply. + The value of the partition key. + + + + For the entities selected by the filter, applies the update you have defined in MongoDb. + + The type representing a Document. + The type of the primary key for a Document. + The document filter. + The update definition to apply. + The value of the partition key. + + + + For the entities selected by the filter, updates the property field with the given value. + + The type representing a Document. + The type of the primary key for a Document. + The type of the field. + The document filter. + The field selector. + The new value of the property field. + The partition key for the document. + + + + For the entities selected by the filter, updates the property field with the given value. + + The type representing a Document. + The type of the primary key for a Document. + The type of the field. + The document filter. + The field selector. + The new value of the property field. + The value of the partition key. + + + + For the entities selected by the filter, applies the update you have defined in MongoDb. + + The type representing a Document. + The type of the primary key for a Document. + The document filter. + The update definition to apply. + The value of the partition key. + + + + For the entities selected by the filter, applies the update you have defined in MongoDb. + + The type representing a Document. + The type of the primary key for a Document. + The document filter. + The update definition to apply. + The value of the partition key. + Updates a document. @@ -527,6 +615,87 @@ The new value of the property field. The partition key for the document. + + + For the entities selected by the filter, updates the property field with the given value. + + The type representing a Document. + The type of the primary key for a Document. + The type of the field. + The document filter. + The field selector. + The new value of the property field. + The partition key for the document. + + + + For the entities selected by the filter, updates the property field with the given value. + + The type representing a Document. + The type of the primary key for a Document. + The type of the field. + The document filter. + The field selector. + The new value of the property field. + The value of the partition key. + + + + For the entities selected by the filter, apply the update definition. + + The type representing a Document. + The type of the primary key for a Document. + The document filter. + The field selector. + The new value of the property field. + The value of the partition key. + + + + For the entities selected by the filter, apply the update definition. + + The type representing a Document. + The type of the primary key for a Document. + The type of the field. + The document filter. + The update definition. + The value of the partition key. + + + + For the entities selected by the filter, updates the property field with the given value. + + The type representing a Document. + The type of the primary key for a Document. + The type of the field. + The document filter. + The field selector. + The new value of the property field. + The partition key for the document. + + + + For the entities selected by the filter, updates the property field with the given value. + + The type representing a Document. + The type of the primary key for a Document. + The type of the field. + The document filter. + The field selector. + The new value of the property field. + The value of the partition key. + + + + For the entities selected by the filter, apply the update definition. + + The type representing a Document. + The type of the primary key for a Document. + The type of the field. + The document filter. + The update definition. + The value of the partition key. + Gets a collections for a potentially partitioned document type. @@ -2506,6 +2675,87 @@ The new value of the property field. The partition key for the document. + + + For the entities selected by the filter, updates the property field with the given value. + + The type representing a Document. + The type of the field. + The document filter. + The field selector. + The new value of the property field. + The value of the partition key. + + + + For the entities selected by the filter, updates the property field with the given value. + + The type representing a Document. + The type of the field. + The document filter. + The field selector. + The new value of the property field. + The value of the partition key. + + + + For the entities selected by the filter, applies the update you have defined in MongoDb. + + The type representing a Document. + The type of the primary key for a Document. + The document filter. + The update definition to apply. + The value of the partition key. + + + + For the entities selected by the filter, applies the update you have defined in MongoDb. + + The type representing a Document. + The document filter. + The update definition to apply. + The value of the partition key. + + + + For the entities selected by the filter, updates the property field with the given value. + + The type representing a Document. + The type of the field. + The document filter. + The field selector. + The new value of the property field. + The value of the partition key. + + + + For the entities selected by the filter, updates the property field with the given value. + + The type representing a Document. + The type of the field. + The document filter. + The field selector. + The new value of the property field. + The value of the partition key. + + + + For the entities selected by the filter, applies the update you have defined in MongoDb. + + The type representing a Document. + The document filter. + The update definition to apply. + The value of the partition key. + + + + For the entities selected by the filter, applies the update you have defined in MongoDb. + + The type representing a Document. + The document filter. + The update definition to apply. + The value of the partition key. + Asynchronously Updates a document. @@ -2610,6 +2860,94 @@ The new value of the property field. The partition key for the document. + + + For the entities selected by the filter, updates the property field with the given value. + + The type representing a Document. + The type of the primary key for a Document. + The type of the field. + The document filter. + The field selector. + The new value of the property field. + The partition key for the document. + + + + For the entities selected by the filter, updates the property field with the given value. + + The type representing a Document. + The type of the primary key for a Document. + The type of the field. + The document filter. + The field selector. + The new value of the property field. + The value of the partition key. + + + + For the entities selected by the filter, applies the update you have defined in MongoDb. + + The type representing a Document. + The type of the primary key for a Document. + The document filter. + The update definition to apply. + The value of the partition key. + + + + For the entities selected by the filter, applies the update you have defined in MongoDb. + + The type representing a Document. + The type of the primary key for a Document. + The document filter. + The update definition to apply. + The value of the partition key. + + + + For the entities selected by the filter, updates the property field with the given value. + + The type representing a Document. + The type of the primary key for a Document. + The type of the field. + The document filter. + The field selector. + The new value of the property field. + The partition key for the document. + + + + For the entities selected by the filter, updates the property field with the given value. + + The type representing a Document. + The type of the primary key for a Document. + The type of the field. + The document filter. + The field selector. + The new value of the property field. + The value of the partition key. + + + + For the entities selected by the filter, applies the update you have defined in MongoDb. + + The type representing a Document. + The type of the primary key for a Document. + The document filter. + The update definition to apply. + The value of the partition key. + + + + For the entities selected by the filter, applies the update you have defined in MongoDb. + + The type representing a Document. + The type of the primary key for a Document. + The document filter. + The update definition to apply. + The value of the partition key. + Deletes a document. @@ -3142,6 +3480,86 @@ The new value of the property field. The partition key for the document. + + + For the entities selected by the filter, updates the property field with the given value. + + The type representing a Document. + The type of the field. + The document filter. + The field selector. + The new value of the property field. + The partition key for the document. + + + + For the entities selected by the filter, updates the property field with the given value. + + The type representing a Document. + The type of the field. + The document filter. + The field selector. + The new value of the property field. + The value of the partition key. + + + + For the entities selected by the filter, applies the update you have defined in MongoDb. + + The type representing a Document. + The document filter. + The update definition to apply. + The value of the partition key. + + + + For the entities selected by the filter, applies the update you have defined in MongoDb. + + The type representing a Document. + The document filter. + The update definition to apply. + The value of the partition key. + + + + For the entities selected by the filter, updates the property field with the given value. + + The type representing a Document. + The type of the field. + The document filter. + The field selector. + The new value of the property field. + The partition key for the document. + + + + For the entities selected by the filter, updates the property field with the given value. + + The type representing a Document. + The type of the field. + The document filter. + The field selector. + The new value of the property field. + The value of the partition key. + + + + For the entities selected by the filter, applies the update you have defined in MongoDb. + + The type representing a Document. + The document filter. + The update definition to apply. + The value of the partition key. + + + + For the entities selected by the filter, applies the update you have defined in MongoDb. + + The type representing a Document. + The document filter. + The update definition to apply. + The value of the partition key. + The interface exposing deletion functionality for Key typed repositories. @@ -3733,6 +4151,86 @@ The new value of the property field. The partition key for the document. + + + For the entities selected by the filter, updates the property field with the given value. + + The type representing a Document. + The type of the field. + The document filter. + The field selector. + The new value of the property field. + The partition key for the document. + + + + For the entities selected by the filter, updates the property field with the given value. + + The type representing a Document. + The type of the field. + The document filter. + The field selector. + The new value of the property field. + The value of the partition key. + + + + For the entities selected by the filter, applies the update you have defined in MongoDb. + + The type representing a Document. + The document filter. + The update definition to apply. + The value of the partition key. + + + + For the entities selected by the filter, applies the update you have defined in MongoDb. + + The type representing a Document. + The document filter. + The update definition to apply. + The value of the partition key. + + + + For the entities selected by the filter, updates the property field with the given value. + + The type representing a Document. + The type of the field. + The document filter. + The field selector. + The new value of the property field. + The partition key for the document. + + + + For the entities selected by the filter, updates the property field with the given value. + + The type representing a Document. + The type of the field. + The document filter. + The field selector. + The new value of the property field. + The value of the partition key. + + + + For the entities selected by the filter, applies the update you have defined in MongoDb. + + The type representing a Document. + The document filter. + The update definition to apply. + The value of the partition key. + + + + For the entities selected by the filter, applies the update you have defined in MongoDb. + + The type representing a Document. + The document filter. + The update definition to apply. + The value of the partition key. + This class represents a basic document that can be stored in MongoDb. diff --git a/MongoDbGenericRepository/lib/net452/MongoDbGenericRepository.dll b/MongoDbGenericRepository/lib/net452/MongoDbGenericRepository.dll index 3031cc9412076db9518bec1719657965149d6c4a..ab63fa43460ab00817e40088370a9c0ebfe5ef17 100644 GIT binary patch literal 183296 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 literal 166912 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 - - - MongoDbGenericRepository - - - - - The IBaseMongoRepository interface exposes the CRUD functionality of the BaseMongoRepository. - - - - - Asynchronously returns a paginated list of the documents matching the filter condition. - - The type representing a Document. - - The number of documents you want to skip. Default value is 0. - The number of documents you want to take. Default value is 50. - An optional partition key. - - - - Asynchronously returns a paginated list of the documents matching the filter condition. - - The type representing a Document. - The type of the primary key for a Document. - - The number of documents you want to skip. Default value is 0. - The number of documents you want to take. Default value is 50. - An optional partition key. - - - - GetAndUpdateOne with filter - - The type representing a Document. - - - - - - - - GetAndUpdateOne with filter - - The type representing a Document. - The type of the primary key for a Document. - - - - - - - - Asynchronously Updates a document. - - The type representing a Document. - The type of the primary key for a Document. - The document with the modifications you want to persist. - - - - Updates a document. - - The type representing a Document. - The type of the primary key for a Document. - The document with the modifications you want to persist. - - - - Takes a document you want to modify and applies the update you have defined in MongoDb. - - The type representing a Document. - The type of the primary key for a Document. - The document you want to modify. - The update definition for the document. - - - - Takes a document you want to modify and applies the update you have defined in MongoDb. - - The type representing a Document. - The type of the primary key for a Document. - The document you want to modify. - The update definition for the document. - - - - For the entity selected by the filter, updates the property field with the given value.. - - The type representing a Document. - The type of the primary key for a Document. - The type of the field. - The document filter. - The field selector. - The new value of the property field. - The partition key for the document. - - - - Updates the property field with the given value update a property field in entities. - - The type representing a Document. - The type of the primary key for a Document. - The type of the field. - The document you want to modify. - The field selector. - The new value of the property field. - - - - For the entity selected by the filter, updates the property field with the given value. - - The type representing a Document. - The type of the primary key for a Document. - The type of the field. - The document filter. - The field selector. - The new value of the property field. - The partition key for the document. - - - - Updates the property field with the given value update a property field in entities. - - The type representing a Document. - The type of the primary key for a Document. - The type of the field. - The document you want to modify. - The field selector. - The new value of the property field. - - - - Updates the property field with the given value update a property field in entities. - - The type representing a Document. - The type of the primary key for a Document. - The type of the field. - The document filter. - The field selector. - The new value of the property field. - The value of the partition key. - - - - Updates the property field with the given value update a property field in entities. - - The type representing a Document. - The type of the primary key for a Document. - The type of the field. - The document filter. - The field selector. - The new value of the property field. - The value of the partition key. - - - - Updates a document. - - The type representing a Document. - The type of the primary key for a Document. - The client session. - The document with the modifications you want to persist. - The optional cancellation token. - - - - - Updates a document. - - The type representing a Document. - The type of the primary key for a Document. - The client session. - The document with the modifications you want to persist. - The optional cancellation token. - - - - - Updates a document. - - The type representing a Document. - The type of the primary key for a Document. - The client session. - The document to modify. - The update definition. - The optional cancellation token. - - - - - Updates a document. - - The type representing a Document. - The type of the primary key for a Document. - The client session. - The document to modify. - The update definition. - The optional cancellation token. - - - - - Updates a document. - - The type representing a Document. - The type of the primary key for a Document. - The type of the field to update. - The client session. - The document to modify. - The field to update. - The value of the field. - The optional cancellation token. - - - - - Updates a document. - - The type representing a Document. - The type of the primary key for a Document. - The type of the field to update. - The client session. - The document to modify. - The field to update. - The value of the field. - The optional cancellation token. - - - - - Updates a document. - - The type representing a Document. - The type of the primary key for a Document. - The type of the field to update. - The client session. - The filter for the update. - The field to update. - The value of the field. - The optional partition key. - The optional cancellation token. - - - - - Updates a document. - - The type representing a Document. - The type of the primary key for a Document. - The type of the field to update. - The client session. - The filter for the update. - The field to update. - The value of the field. - The optional partition key. - The optional cancellation token. - - - - - Updates a document. - - The type representing a Document. - The type of the primary key for a Document. - The type of the field to update. - The client session. - The filter for the update. - The field to update. - The value of the field. - The optional partition key. - The optional cancellation token. - - - - - Updates a document. - - The type representing a Document. - The type of the primary key for a Document. - The type of the field to update. - The client session. - The filter for the update. - The field to update. - The value of the field. - The optional partition key. - The optional cancellation token. - - - - - Updates a document. - - The type representing a Document. - The type of the primary key for a Document. - The client session. - The document with the modifications you want to persist. - The optional cancellation token. - - - - - Updates a document. - - The type representing a Document. - The type of the primary key for a Document. - The client session. - The document with the modifications you want to persist. - The optional cancellation token. - - - - - Updates a document. - - The type representing a Document. - The type of the primary key for a Document. - The client session. - The document to modify. - The update definition. - The optional cancellation token. - - - - - Updates a document. - - The type representing a Document. - The type of the primary key for a Document. - The client session. - The document to modify. - The update definition. - The optional cancellation token. - - - - - Updates a document. - - The type representing a Document. - The type of the primary key for a Document. - The type of the field to update. - The client session. - The document to modify. - The field to update. - The value of the field. - The optional cancellation token. - - - - - Updates a document. - - The type representing a Document. - The type of the primary key for a Document. - The type of the field to update. - The client session. - The document to modify. - The field to update. - The value of the field. - The optional cancellation token. - - - - - Updates a document. - - The type representing a Document. - The type of the primary key for a Document. - The type of the field to update. - The client session. - The filter for the update. - The field to update. - The value of the field. - The optional partition key. - The optional cancellation token. - - - - - Updates a document. - - The type representing a Document. - The type of the primary key for a Document. - The type of the field to update. - The client session. - The filter for the update. - The field to update. - The value of the field. - The optional partition key. - The optional cancellation token. - - - - - Updates a document. - - The type representing a Document. - The type of the primary key for a Document. - The type of the field to update. - The client session. - The filter for the update. - The field to update. - The value of the field. - The optional partition key. - The optional cancellation token. - - - - - Updates a document. - - The type representing a Document. - The type of the primary key for a Document. - The type of the field to update. - The client session. - The filter for the update. - The field to update. - The value of the field. - The optional partition key. - The optional cancellation token. - - - - - Asynchronously Updates a document. - - The type representing a Document. - The type of the primary key for a Document. - The document with the modifications you want to persist. - - - - Updates a document. - - The type representing a Document. - The type of the primary key for a Document. - The document with the modifications you want to persist. - - - - Takes a document you want to modify and applies the update you have defined in MongoDb. - - The type representing a Document. - The type of the primary key for a Document. - The document you want to modify. - The update definition for the document. - - - - Takes a document you want to modify and applies the update you have defined in MongoDb. - - The type representing a Document. - The type of the primary key for a Document. - The document you want to modify. - The update definition for the document. - - - - Updates the property field with the given value update a property field in entities. - - The type representing a Document. - The type of the primary key for a Document. - The type of the field. - The document you want to modify. - The field selector. - The new value of the property field. - - - - Updates the property field with the given value update a property field in entities. - - The type representing a Document. - The type of the primary key for a Document. - The type of the field. - The document you want to modify. - The field selector. - The new value of the property field. - - - - Updates the property field with the given value update a property field in entities. - - The type representing a Document. - The type of the primary key for a Document. - The type of the field. - The document filter. - The field selector. - The new value of the property field. - The value of the partition key. - - - - For the entity selected by the filter, updates the property field with the given value. - - The type representing a Document. - The type of the primary key for a Document. - The type of the field. - The document filter. - The field selector. - The new value of the property field. - The partition key for the document. - - - - Updates the property field with the given value. - - The type representing a Document. - The type of the primary key for a Document. - The type of the field. - The document filter. - The field selector. - The new value of the property field. - The value of the partition key. - - - - For the entity selected by the filter, updates the property field with the given value. - - The type representing a Document. - The type of the primary key for a Document. - The type of the field. - The document filter. - The field selector. - The new value of the property field. - The partition key for the document. - - - - Gets a collections for a potentially partitioned document type. - - The document type. - The type of the primary key. - The document. - - - - - Gets a collections for the type TDocument with a partition key. - - The document type. - The type of the primary key. - The collection partition key. - - - - - Gets a collections for a potentially partitioned document type. - - The document type. - The type of the primary key. - The collection partition key. - - - - - Converts a LINQ expression of TDocument, TValue to a LINQ expression of TDocument, object - - The document type. - The type of the value. - The expression to convert - - - - Maps a IndexCreationOptions object to a MongoDB.Driver.CreateIndexOptions object - - The options for creating an index. - - - - - Gets the minimum value of a property in a mongodb collections that is satisfying the filter. - - The document type. - The type of the primary key. - The type of the value used to order the query. - A LINQ expression filter. - A property selector to order by ascending. - An optional partition key. - - - - Gets the minimum value of a property in a mongodb collections that is satisfying the filter. - - The document type. - The type of the primary key. - The type of the value used to order the query. - A LINQ expression filter. - A property selector to order by descending. - An optional partition key. - - - - Asynchronously adds a document to the collection. - Populates the Id and AddedAtUtc fields if necessary. - - The type representing a Document. - The type of the primary key for a Document. - The document you want to add. - - - - Adds a document to the collection. - Populates the Id and AddedAtUtc fields if necessary. - - The type representing a Document. - The type of the primary key for a Document. - The document you want to add. - - - - Asynchronously adds a list of documents to the collection. - Populates the Id and AddedAtUtc fields if necessary. - - The type representing a Document. - The type of the primary key for a Document. - The documents you want to add. - - - - Adds a list of documents to the collection. - Populates the Id and AddedAtUtc fields if necessary. - - The type representing a Document. - The type of the primary key for a Document. - The documents you want to add. - - - - Sets the value of the document Id if it is not set already. - - The document type. - The type of the primary key. - The document. - - - - Deletes a document. - - The type representing a Document. - The type of the primary key for a Document. - The document you want to delete. - The number of documents deleted. - - - - Asynchronously deletes a document matching the condition of the LINQ expression filter. - - The type representing a Document. - The type of the primary key for a Document. - The document you want to delete. - The number of documents deleted. - - - - Deletes a document matching the condition of the LINQ expression filter. - - The type representing a Document. - The type of the primary key for a Document. - A LINQ expression filter. - An optional partition key. - The number of documents deleted. - - - - Asynchronously deletes a document matching the condition of the LINQ expression filter. - - The type representing a Document. - The type of the primary key for a Document. - A LINQ expression filter. - An optional partition key. - The number of documents deleted. - - - - Asynchronously deletes the documents matching the condition of the LINQ expression filter. - - The type representing a Document. - The type of the primary key for a Document. - A LINQ expression filter. - An optional partition key. - The number of documents deleted. - - - - Asynchronously deletes a list of documents. - - The type representing a Document. - The type of the primary key for a Document. - The list of documents to delete. - The number of documents deleted. - - - - Deletes a list of documents. - - The type representing a Document. - The type of the primary key for a Document. - The list of documents to delete. - The number of documents deleted. - - - - Deletes the documents matching the condition of the LINQ expression filter. - - The type representing a Document. - The type of the primary key for a Document. - A LINQ expression filter. - An optional partition key. - The number of documents deleted. - - - - Returns the names of the indexes present on a collection. - - The type representing a Document. - The type of the primary key for a Document. - An optional partition key - A list containing the names of the indexes on on the concerned collection. - - - - Create a text index on the given field. - IndexCreationOptions can be supplied to further specify - how the creation should be done. - - The type representing a Document. - The type of the primary key for a Document. - The field we want to index. - Options for creating an index. - An optional partition key. - The result of the create index operation. - - - - Creates an index on the given field in ascending order. - IndexCreationOptions can be supplied to further specify - how the creation should be done. - - The type representing a Document. - The type of the primary key for a Document. - The field we want to index. - Options for creating an index. - An optional partition key. - The result of the create index operation. - - - - Creates an index on the given field in descending order. - IndexCreationOptions can be supplied to further specify - how the creation should be done. - - The type representing a Document. - The type of the primary key for a Document. - The field we want to index. - Options for creating an index. - An optional partition key. - The result of the create index operation. - - - - Creates a hashed index on the given field. - IndexCreationOptions can be supplied to further specify - how the creation should be done. - - The type representing a Document. - The type of the primary key for a Document. - The field we want to index. - Options for creating an index. - An optional partition key. - The result of the create index operation. - - - - Creates a combined text index. - IndexCreationOptions can be supplied to further specify - how the creation should be done. - - The type representing a Document. - The type of the primary key for a Document. - The fields we want to index. - Options for creating an index. - An optional partition key. - The result of the create index operation. - - - - Drops the index given a field name - - The type representing a Document. - The type of the primary key for a Document. - The name of the index - An optional partition key - - - - Asynchronously returns one document given its id. - - The type representing a Document. - The type of the primary key for a Document. - The Id of the document you want to get. - An optional partition key. - - - - Returns one document given its id. - - The type representing a Document. - The type of the primary key for a Document. - The Id of the document you want to get. - An optional partition key. - - - - Asynchronously returns one document given an expression filter. - - The type representing a Document. - The type of the primary key for a Document. - A LINQ expression filter. - An optional partition key. - - - - Returns one document given an expression filter. - - The type representing a Document. - The type of the primary key for a Document. - A LINQ expression filter. - An optional partition key. - - - - Returns a collection cursor. - - The type representing a Document. - The type of the primary key for a Document. - A LINQ expression filter. - An optional partition key. - - - - Returns true if any of the document of the collection matches the filter condition. - - The type representing a Document. - The type of the primary key for a Document. - A LINQ expression filter. - An optional partition key. - - - - Returns true if any of the document of the collection matches the filter condition. - - The type representing a Document. - The type of the primary key for a Document. - A LINQ expression filter. - An optional partition key. - - - - Asynchronously returns a list of the documents matching the filter condition. - - The type representing a Document. - The type of the primary key for a Document. - A LINQ expression filter. - An optional partition key. - - - - Returns a list of the documents matching the filter condition. - - The type representing a Document. - The type of the primary key for a Document. - A LINQ expression filter. - An optional partition key. - - - - Asynchronously counts how many documents match the filter condition. - - The type representing a Document. - The type of the primary key for a Document. - A LINQ expression filter. - An optional partitionKey - - - - Counts how many documents match the filter condition. - - The type representing a Document. - The type of the primary key for a Document. - A LINQ expression filter. - An optional partitionKey - - - - Gets the document with the maximum value of a specified property in a MongoDB collections that is satisfying the filter. - - The document type. - The type of the primary key. - A LINQ expression filter. - A property selector to order by descending. - An optional partitionKey. - - - - Gets the document with the maximum value of a specified property in a MongoDB collections that is satisfying the filter. - - The document type. - The type of the primary key. - A LINQ expression filter. - A property selector to order by descending. - An optional partitionKey. - - - - Gets the document with the minimum value of a specified property in a MongoDB collections that is satisfying the filter. - - The document type. - The type of the primary key. - A LINQ expression filter. - A property selector to order by ascending. - An optional partitionKey. - - - - Gets the document with the minimum value of a specified property in a MongoDB collections that is satisfying the filter. - - The document type. - The type of the primary key. - A LINQ expression filter. - A property selector to order by ascending. - An optional partitionKey. - - - - Gets the maximum value of a property in a mongodb collections that is satisfying the filter. - - The document type. - The type of the primary key. - A LINQ expression filter. - A property selector to order by ascending. - An optional partitionKey. - - - - Gets the maximum value of a property in a mongodb collections that is satisfying the filter. - - The document type. - The type of the primary key. - The type of the value used to order the query. - A LINQ expression filter. - A property selector to order by ascending. - An optional partitionKey. - - - - Gets the minimum value of a property in a mongodb collections that is satisfying the filter. - - The document type. - The type of the primary key. - The type of the value used to order the query. - A LINQ expression filter. - A property selector to order by ascending. - An optional partition key. - - - - Gets the minimum value of a property in a mongodb collections that is satisfying the filter. - - The document type. - The type of the primary key. - The type of the value used to order the query. - A LINQ expression filter. - A property selector to order by ascending. - An optional partition key. - - - - Sums the values of a selected field for a given filtered collection of documents. - - The type representing a Document. - The type of the primary key for a Document. - A LINQ expression filter. - The field you want to sum. - The partition key of your document, if any. - - - - Sums the values of a selected field for a given filtered collection of documents. - - The type representing a Document. - The type of the primary key for a Document. - A LINQ expression filter. - The field you want to sum. - The partition key of your document, if any. - - - - Sums the values of a selected field for a given filtered collection of documents. - - The type representing a Document. - The type of the primary key for a Document. - A LINQ expression filter. - The field you want to sum. - The partition key of your document, if any. - - - - Sums the values of a selected field for a given filtered collection of documents. - - The type representing a Document. - The type of the primary key for a Document. - A LINQ expression filter. - The field you want to sum. - The partition key of your document, if any. - - - - Groups a collection of documents given a grouping criteria, - and returns a dictionary of listed document groups with keys having the different values of the grouping criteria. - - The type representing a Document. - The type of the primary key for a Document. - The type of the grouping criteria. - The type of the projected group. - The grouping criteria. - The projected group result. - The partition key of your document, if any. - - - - Groups filtered a collection of documents given a grouping criteria, - and returns a dictionary of listed document groups with keys having the different values of the grouping criteria. - - The type representing a Document. - The type of the primary key for a Document. - The type of the grouping criteria. - The type of the projected group. - A LINQ expression filter. - The grouping criteria. - The projected group result. - The partition key of your document, if any. - - - - Asynchronously returns a paginated list of the documents matching the filter condition. - - The type representing a Document. - The type of the primary key for a Document. - A LINQ expression filter. - The property selector. - Order of the sorting. - The number of documents you want to skip. Default value is 0. - The number of documents you want to take. Default value is 50. - An optional partition key. - - - - Asynchronously returns a paginated list of the documents matching the filter condition. - - The type representing a Document. - The type of the primary key for a Document. - A LINQ expression filter. - The sort definition. - The number of documents you want to skip. Default value is 0. - The number of documents you want to take. Default value is 50. - An optional partition key. - - - - Asynchronously returns a projected document matching the filter condition. - - The type representing a Document. - The type of the primary key for a Document. - The type representing the model you want to project to. - A LINQ expression filter. - The projection expression. - An optional partition key. - - - - Returns a projected document matching the filter condition. - - The type representing a Document. - The type of the primary key for a Document. - The type representing the model you want to project to. - A LINQ expression filter. - The projection expression. - An optional partition key. - - - - Asynchronously returns a list of projected documents matching the filter condition. - - The type representing a Document. - The type of the primary key for a Document. - The type representing the model you want to project to. - A LINQ expression filter. - The projection expression. - An optional partition key. - - - - Asynchronously returns a list of projected documents matching the filter condition. - - The type representing a Document. - The type of the primary key for a Document. - The type representing the model you want to project to. - The document filter. - The projection expression. - An optional partition key. - - - - The IBaseReadOnlyRepository exposes the generic Read Only functionality of the BaseMongoRepository. - - - - - The connection string. - - - - - The database name. - - - - - Asynchronously returns one document given its id. - - The type representing a Document. - The type of the primary key for a Document. - The Id of the document you want to get. - An optional partition key. - - - - Returns one document given its id. - - The type representing a Document. - The type of the primary key for a Document. - The Id of the document you want to get. - An optional partition key. - - - - Asynchronously returns one document given an expression filter. - - The type representing a Document. - The type of the primary key for a Document. - A LINQ expression filter. - An optional partition key. - - - - Returns one document given an expression filter. - - The type representing a Document. - The type of the primary key for a Document. - A LINQ expression filter. - An optional partition key. - - - - Returns a collection cursor. - - The type representing a Document. - The type of the primary key for a Document. - A LINQ expression filter. - An optional partition key. - - - - Returns true if any of the document of the collection matches the filter condition. - - The type representing a Document. - The type of the primary key for a Document. - A LINQ expression filter. - An optional partition key. - - - - Returns true if any of the document of the collection matches the filter condition. - - The type representing a Document. - The type of the primary key for a Document. - A LINQ expression filter. - An optional partition key. - - - - Asynchronously returns a list of the documents matching the filter condition. - - The type representing a Document. - The type of the primary key for a Document. - A LINQ expression filter. - An optional partition key. - - - - Returns a list of the documents matching the filter condition. - - The type representing a Document. - The type of the primary key for a Document. - A LINQ expression filter. - An optional partition key. - - - - Asynchronously counts how many documents match the filter condition. - - The type representing a Document. - The type of the primary key for a Document. - A LINQ expression filter. - An optional partitionKey - - - - Counts how many documents match the filter condition. - - The type representing a Document. - The type of the primary key for a Document. - A LINQ expression filter. - An optional partitionKey - - - - Gets the document with the maximum value of a specified property in a MongoDB collections that is satisfying the filter. - - The document type. - The type of the primary key. - A LINQ expression filter. - A property selector to order by descending. - An optional partitionKey. - - - - Gets the document with the maximum value of a specified property in a MongoDB collections that is satisfying the filter. - - The document type. - The type of the primary key. - A LINQ expression filter. - A property selector to order by descending. - An optional partitionKey. - - - - Gets the document with the minimum value of a specified property in a MongoDB collections that is satisfying the filter. - - The document type. - The type of the primary key. - A LINQ expression filter. - A property selector to order by ascending. - An optional partitionKey. - - - - Gets the document with the minimum value of a specified property in a MongoDB collections that is satisfying the filter. - - The document type. - The type of the primary key. - A LINQ expression filter. - A property selector to order by ascending. - An optional partitionKey. - - - - Gets the maximum value of a property in a mongodb collections that is satisfying the filter. - - The document type. - The type of the primary key. - The type of the value used to order the query. - A LINQ expression filter. - A property selector to order by ascending. - An optional partitionKey. - - - - Gets the maximum value of a property in a mongodb collections that is satisfying the filter. - - The document type. - The type of the primary key. - The type of the value used to order the query. - A LINQ expression filter. - A property selector to order by ascending. - An optional partitionKey. - - - - Gets the minimum value of a property in a mongodb collections that is satisfying the filter. - - The document type. - The type of the primary key. - The type of the value used to order the query. - A LINQ expression filter. - A property selector to order by ascending. - An optional partition key. - - - - Gets the minimum value of a property in a mongodb collections that is satisfying the filter. - - The document type. - The type of the primary key. - The type of the value used to order the query. - A LINQ expression filter. - A property selector to order by ascending. - An optional partition key. - - - - Sums the values of a selected field for a given filtered collection of documents. - - The type representing a Document. - The type of the primary key. - A LINQ expression filter. - The field you want to sum. - The partition key of your document, if any. - - - - Sums the values of a selected field for a given filtered collection of documents. - - The type representing a Document. - The type of the primary key. - A LINQ expression filter. - The field you want to sum. - The partition key of your document, if any. - - - - Sums the values of a selected field for a given filtered collection of documents. - - The type representing a Document. - The type of the primary key. - A LINQ expression filter. - The field you want to sum. - The partition key of your document, if any. - - - - Sums the values of a selected field for a given filtered collection of documents. - - The type representing a Document. - The type of the primary key. - A LINQ expression filter. - The field you want to sum. - The partition key of your document, if any. - - - - Asynchronously returns a projected document matching the filter condition. - - The type representing a Document. - The type of the primary key for a Document. - The type representing the model you want to project to. - - The projection expression. - An optional partition key. - - - - Returns a projected document matching the filter condition. - - The type representing a Document. - The type of the primary key for a Document. - The type representing the model you want to project to. - - The projection expression. - An optional partition key. - - - - Asynchronously returns a list of projected documents matching the filter condition. - - The type representing a Document. - The type of the primary key for a Document. - The type representing the model you want to project to. - - The projection expression. - An optional partition key. - - - - Asynchronously returns a list of projected documents matching the filter condition. - - The type representing a Document. - The type of the primary key for a Document. - The type representing the model you want to project to. - - The projection expression. - An optional partition key. - - - - Groups filtered a collection of documents given a grouping criteria, - and returns a dictionary of listed document groups with keys having the different values of the grouping criteria. - - The type representing a Document. - The type of the grouping criteria. - The type of the projected group. - The type of the primary key. - The grouping criteria. - The projected group result. - The partition key of your document, if any. - - - - Groups filtered a collection of documents given a grouping criteria, - and returns a dictionary of listed document groups with keys having the different values of the grouping criteria. - - The type representing a Document. - The type of the grouping criteria. - The type of the projected group. - The type of the primary key. - A LINQ expression filter. - The grouping criteria. - The projected group result. - The partition key of your document, if any. - - - - Asynchronously returns a paginated list of the documents matching the filter condition. - - The type representing a Document. - The type of the primary key for a Document. - A LINQ expression filter. - The property selector. - Order of the sorting. - The number of documents you want to skip. Default value is 0. - The number of documents you want to take. Default value is 50. - An optional partition key. - - - - Asynchronously returns a paginated list of the documents matching the filter condition. - - The type representing a Document. - The type of the primary key for a Document. - A LINQ expression filter. - The sort definition. - The number of documents you want to skip. Default value is 0. - The number of documents you want to take. Default value is 50. - An optional partition key. - - - - This is the interface of the IMongoDbContext which is managed by the . - - - - - The IMongoClient from the official MongoDb driver - - - - - The IMongoDatabase from the official Mongodb driver - - - - - Returns a collection for a document type that has a partition key. - - - The value of the partition key. - - - - Drops a collection having a partitionkey, use very carefully. - - - - - - Sets the Guid representation of the MongoDb Driver. - - The new value of the GuidRepresentation - - - - The IReadOnlyMongoRepository exposes the readonly functionality of the BaseMongoRepository. - - - - - Asynchronously returns one document given its id. - - The type representing a Document. - The Id of the document you want to get. - An optional partition key. - - - - Returns one document given its id. - - The type representing a Document. - The Id of the document you want to get. - An optional partition key. - - - - Asynchronously returns one document given an expression filter. - - The type representing a Document. - A LINQ expression filter. - An optional partition key. - - - - Returns one document given an expression filter. - - The type representing a Document. - A LINQ expression filter. - An optional partition key. - - - - Returns a collection cursor. - - The type representing a Document. - A LINQ expression filter. - An optional partition key. - - - - Asynchronously returns true if any of the document of the collection matches the filter condition. - - The type representing a Document. - A LINQ expression filter. - An optional partition key. - - - - Returns true if any of the document of the collection matches the filter condition. - - The type representing a Document. - A LINQ expression filter. - An optional partition key. - - - - Asynchronously returns a list of the documents matching the filter condition. - - The type representing a Document. - A LINQ expression filter. - An optional partition key. - - - - Returns a list of the documents matching the filter condition. - - The type representing a Document. - A LINQ expression filter. - An optional partition key. - - - - Asynchronously counts how many documents match the filter condition. - - The type representing a Document. - A LINQ expression filter. - An optional partition key. - - - - Counts how many documents match the filter condition. - - The type representing a Document. - A LINQ expression filter. - An optional partition key. - - - - Gets the document with the maximum value of a specified property in a MongoDB collections that is satisfying the filter. - - The document type. - A LINQ expression filter. - A property selector to order by descending. - An optional partitionKey. - - - - Gets the document with the maximum value of a specified property in a MongoDB collections that is satisfying the filter. - - The document type. - A LINQ expression filter. - A property selector to order by descending. - An optional partitionKey. - - - - - Gets the document with the maximum value of a specified property in a MongoDB collections that is satisfying the filter. - - The document type. - A LINQ expression filter. - A property selector to order by ascending. - An optional partitionKey. - - - - Gets the document with the maximum value of a specified property in a MongoDB collections that is satisfying the filter. - - The document type. - A LINQ expression filter. - A property selector to order by ascending. - An optional partitionKey. - - - - Gets the maximum value of a property in a mongodb collections that is satisfying the filter. - - The document type. - The type of the value used to order the query. - A LINQ expression filter. - A property selector to order by ascending. - An optional partitionKey. - - - - Gets the maximum value of a property in a mongodb collections that is satisfying the filter. - - The document type. - The type of the value used to order the query. - A LINQ expression filter. - A property selector to order by ascending. - An optional partitionKey. - - - - Gets the minimum value of a property in a mongodb collections that is satisfying the filter. - - The document type. - The type of the value used to order the query. - A LINQ expression filter. - A property selector to order by ascending. - An optional partition key. - - - - Gets the minimum value of a property in a mongodb collections that is satisfying the filter. - - The document type. - The type of the value used to order the query. - A LINQ expression filter. - A property selector to order by ascending. - An optional partition key. - - - - Sums the values of a selected field for a given filtered collection of documents. - - The type representing a Document. - A LINQ expression filter. - The field you want to sum. - The partition key of your document, if any. - - - - Sums the values of a selected field for a given filtered collection of documents. - - The type representing a Document. - A LINQ expression filter. - The field you want to sum. - The partition key of your document, if any. - - - - Sums the values of a selected field for a given filtered collection of documents. - - The type representing a Document. - A LINQ expression filter. - The field you want to sum. - The partition key of your document, if any. - - - - Sums the values of a selected field for a given filtered collection of documents. - - The type representing a Document. - A LINQ expression filter. - The field you want to sum. - The partition key of your document, if any. - - - - Asynchronously returns a projected document matching the filter condition. - - The type representing a Document. - The type of the primary key for a Document. - The type representing the model you want to project to. - A LINQ expression filter. - The projection expression. - An optional partition key. - - - - Returns a projected document matching the filter condition. - - The type representing a Document. - The type representing the model you want to project to. - A LINQ expression filter. - The projection expression. - An optional partition key. - - - - Asynchronously returns a list of projected documents matching the filter condition. - - The type representing a Document. - The type representing the model you want to project to. - A LINQ expression filter. - The projection expression. - An optional partition key. - - - - Asynchronously returns a list of projected documents matching the filter condition. - - The type representing a Document. - The type representing the model you want to project to. - A LINQ expression filter. - The projection expression. - An optional partition key. - - - - Groups a collection of documents given a grouping criteria, - and returns a dictionary of listed document groups with keys having the different values of the grouping criteria. - - The type representing a Document. - The type of the grouping criteria. - The type of the projected group. - The grouping criteria. - The projected group result. - The partition key of your document, if any. - - - - Groups filtered a collection of documents given a grouping criteria, - and returns a dictionary of listed document groups with keys having the different values of the grouping criteria. - - The type representing a Document. - The type of the grouping criteria. - The type of the projected group. - A LINQ expression filter. - The grouping criteria. - The projected group result. - The partition key of your document, if any. - - - - Asynchronously returns a paginated list of the documents matching the filter condition. - - The type representing a Document. - The type of the primary key for a Document. - A LINQ expression filter. - The property selector. - Order of the sorting. - The number of documents you want to skip. Default value is 0. - The number of documents you want to take. Default value is 50. - An optional partition key. - - - - Asynchronously returns a paginated list of the documents matching the filter condition. - - The type representing a Document. - The type of the primary key for a Document. - A LINQ expression filter. - The sort definition. - The number of documents you want to skip. Default value is 0. - The number of documents you want to take. Default value is 50. - An optional partition key. - - - - This attribute allows you to specify of the name of the collection. - Added at commit c117bf2a7fee378f1e02199dea9b2023a7089ee2 by https://github.com/Etchelon - who has included the CollectionName attribute into the repo to give another choice to the user on how - to name their collections. - The attribute takes precedence of course, and if not present the library will fall back to your Pluralize method. - - - - - The name of the collection in which your documents are stored. - - - - - The constructor. - - The name of the collection. - - - - Asynchronously adds a document to the collection. - Populates the Id and AddedAtUtc fields if necessary. - - The type representing a Document. - The type of the primary key for a Document. - The document you want to add. - - - - Adds a document to the collection. - Populates the Id and AddedAtUtc fields if necessary. - - The type representing a Document. - The type of the primary key for a Document. - The document you want to add. - - - - Asynchronously adds a list of documents to the collection. - Populates the Id and AddedAtUtc fields if necessary. - - The type representing a Document. - The type of the primary key for a Document. - The documents you want to add. - - - - Adds a list of documents to the collection. - Populates the Id and AddedAtUtc fields if necessary. - - The type representing a Document. - The type of the primary key for a Document. - The documents you want to add. - - - - The base Repository, it is meant to be inherited from by your custom custom MongoRepository implementation. - Its constructor must be given a connection string and a database name. - - - The base Repository, it is meant to be inherited from by your custom custom MongoRepository implementation. - Its constructor must be given a connection string and a database name. - - - The base Repository, it is meant to be inherited from by your custom custom MongoRepository implementation. - Its constructor must be given a connection string and a database name. - - - The base Repository, it is meant to be inherited from by your custom custom MongoRepository implementation. - Its constructor must be given a connection string and a database name. - - - - - Asynchronously adds a document to the collection. - Populates the Id and AddedAtUtc fields if necessary. - - The type representing a Document. - The type of the primary key for a Document. - The document you want to add. - - - - Asynchronously adds a document to the collection. - Populates the Id and AddedAtUtc fields if necessary. - - The type representing a Document. - The document you want to add. - - - - Adds a document to the collection. - Populates the Id and AddedAtUtc fields if necessary. - - The type representing a Document. - The type of the primary key for a Document. - The document you want to add. - - - - Adds a document to the collection. - Populates the Id and AddedAtUtc fields if necessary. - - The type representing a Document. - The document you want to add. - - - - Asynchronously adds a list of documents to the collection. - Populates the Id and AddedAtUtc fields if necessary. - - The type representing a Document. - The type of the primary key for a Document. - The documents you want to add. - - - - Asynchronously adds a list of documents to the collection. - Populates the Id and AddedAtUtc fields if necessary. - - The type representing a Document. - The documents you want to add. - - - - Adds a list of documents to the collection. - Populates the Id and AddedAtUtc fields if necessary. - - The type representing a Document. - The type of the primary key for a Document. - The documents you want to add. - - - - Adds a list of documents to the collection. - Populates the Id and AddedAtUtc fields if necessary. - - The type representing a Document. - The documents you want to add. - - - - Asynchronously deletes a document. - - The type representing a Document. - The document you want to delete. - The number of documents deleted. - - - - Deletes a document. - - The type representing a Document. - The document you want to delete. - The number of documents deleted. - - - - Deletes a document matching the condition of the LINQ expression filter. - - The type representing a Document. - A LINQ expression filter. - An optional partition key. - The number of documents deleted. - - - - Asynchronously deletes a document matching the condition of the LINQ expression filter. - - The type representing a Document. - A LINQ expression filter. - An optional partition key. - The number of documents deleted. - - - - Asynchronously deletes the documents matching the condition of the LINQ expression filter. - - The type representing a Document. - A LINQ expression filter. - An optional partition key. - The number of documents deleted. - - - - Asynchronously deletes a list of documents. - - The type representing a Document. - The list of documents to delete. - The number of documents deleted. - - - - Deletes a list of documents. - - The type representing a Document. - The list of documents to delete. - The number of documents deleted. - - - - Deletes the documents matching the condition of the LINQ expression filter. - - The type representing a Document. - A LINQ expression filter. - An optional partition key. - The number of documents deleted. - - - - Deletes a document. - - The type representing a Document. - The type of the primary key for a Document. - The document you want to delete. - The number of documents deleted. - - - - Asynchronously deletes a document matching the condition of the LINQ expression filter. - - The type representing a Document. - The type of the primary key for a Document. - The document you want to delete. - The number of documents deleted. - - - - Deletes a document matching the condition of the LINQ expression filter. - - The type representing a Document. - The type of the primary key for a Document. - A LINQ expression filter. - An optional partition key. - The number of documents deleted. - - - - Asynchronously deletes a document matching the condition of the LINQ expression filter. - - The type representing a Document. - The type of the primary key for a Document. - A LINQ expression filter. - An optional partition key. - The number of documents deleted. - - - - Asynchronously deletes the documents matching the condition of the LINQ expression filter. - - The type representing a Document. - The type of the primary key for a Document. - A LINQ expression filter. - An optional partition key. - The number of documents deleted. - - - - Asynchronously deletes a list of documents. - - The type representing a Document. - The type of the primary key for a Document. - The list of documents to delete. - The number of documents deleted. - - - - Deletes a list of documents. - - The type representing a Document. - The type of the primary key for a Document. - The list of documents to delete. - The number of documents deleted. - - - - Deletes the documents matching the condition of the LINQ expression filter. - - The type representing a Document. - The type of the primary key for a Document. - A LINQ expression filter. - An optional partition key. - The number of documents deleted. - - - - Returns the names of the indexes present on a collection. - - The type representing a Document. - The type of the primary key for a Document. - An optional partition key - A list containing the names of the indexes on on the concerned collection. - - - - Returns the names of the indexes present on a collection. - - The type representing a Document. - An optional partition key - A list containing the names of the indexes on on the concerned collection. - - - - Create a text index on the given field. - IndexCreationOptions can be supplied to further specify - how the creation should be done. - - The type representing a Document. - The field we want to index. - Options for creating an index. - An optional partition key. - The result of the create index operation. - - - - Create a text index on the given field. - IndexCreationOptions can be supplied to further specify - how the creation should be done. - - The type representing a Document. - The type of the primary key for a Document. - The field we want to index. - Options for creating an index. - An optional partition key. - The result of the create index operation. - - - - Creates an index on the given field in ascending order. - IndexCreationOptions can be supplied to further specify - how the creation should be done. - - The type representing a Document. - The field we want to index. - Options for creating an index. - An optional partition key. - The result of the create index operation. - - - - Creates an index on the given field in ascending order. - IndexCreationOptions can be supplied to further specify - how the creation should be done. - - The type representing a Document. - The type of the primary key for a Document. - The field we want to index. - Options for creating an index. - An optional partition key. - The result of the create index operation. - - - - Creates an index on the given field in descending order. - IndexCreationOptions can be supplied to further specify - how the creation should be done. - - The type representing a Document. - The field we want to index. - Options for creating an index. - An optional partition key. - The result of the create index operation. - - - - - - - Creates a hashed index on the given field. - IndexCreationOptions can be supplied to further specify - how the creation should be done. - - The type representing a Document. - The field we want to index. - Options for creating an index. - An optional partition key. - The result of the create index operation. - - - - - - - Creates a combined text index. - IndexCreationOptions can be supplied to further specify - how the creation should be done. - - The type representing a Document. - The fields we want to index. - Options for creating an index. - An optional partition key. - The result of the create index operation. - - - - - - - Drops the index given a field name - - The type representing a Document. - The name of the index - An optional partition key - - - - - - - The constructor taking a connection string and a database name. - - The connection string of the MongoDb server. - The name of the database against which you want to perform operations. - - - - The contructor taking a . - - A mongodb context implementing - - - - The contructor taking a . - - A mongodb context implementing - - - - Asynchronously returns a paginated list of the documents matching the filter condition. - - The type representing a Document. - A LINQ expression filter. - The number of documents you want to skip. Default value is 0. - The number of documents you want to take. Default value is 50. - An optional partition key. - - - - Asynchronously returns a paginated list of the documents matching the filter condition. - - The type representing a Document. - The type of the primary key for a Document. - A LINQ expression filter. - The number of documents you want to skip. Default value is 0. - The number of documents you want to take. Default value is 50. - An optional partition key. - - - - GetAndUpdateOne with filter - - The type representing a Document. - A LINQ expression filter. - - - - - - - GetAndUpdateOne with filter - - The type representing a Document. - The type of the primary key for a Document. - A LINQ expression filter. - - - - - - - Sets the value of the document Id if it is not set already. - - The document type. - The type of the primary key. - The document. - - - - Sets the value of the document Id if it is not set already. - - The document type. - The document. - - - - Gets a collections for a potentially partitioned document type. - - The document type. - The collection partition key. - - - - - Gets a collections for the type TDocument with a partition key. - - The document type. - The collection partition key. - - - - - Updates a document. - - The type representing a Document. - The type of the primary key for a Document. - The client session. - The document with the modifications you want to persist. - The optional cancellation token. - - - - - Updates a document. - - The type representing a Document. - The type of the primary key for a Document. - The client session. - The document with the modifications you want to persist. - The optional cancellation token. - - - - - Updates a document. - - The type representing a Document. - The type of the primary key for a Document. - The client session. - The document to modify. - The update definition. - The optional cancellation token. - - - - - Updates a document. - - The type representing a Document. - The type of the primary key for a Document. - The client session. - The document to modify. - The update definition. - The optional cancellation token. - - - - - Updates a document. - - The type representing a Document. - The type of the primary key for a Document. - The type of the field to update. - The client session. - The document to modify. - The field to update. - The value of the field. - The optional cancellation token. - - - - - Updates a document. - - The type representing a Document. - The type of the primary key for a Document. - The type of the field to update. - The client session. - The document to modify. - The field to update. - The value of the field. - The optional cancellation token. - - - - - Updates a document. - - The type representing a Document. - The type of the primary key for a Document. - The type of the field to update. - The client session. - The filter for the update. - The field to update. - The value of the field. - The optional partition key. - The optional cancellation token. - - - - - Updates a document. - - The type representing a Document. - The type of the primary key for a Document. - The type of the field to update. - The client session. - The filter for the update. - The field to update. - The value of the field. - The optional partition key. - The optional cancellation token. - - - - - Updates a document. - - The type representing a Document. - The type of the primary key for a Document. - The type of the field to update. - The client session. - The filter for the update. - The field to update. - The value of the field. - The optional partition key. - The optional cancellation token. - - - - - Updates a document. - - The type representing a Document. - The type of the primary key for a Document. - The type of the field to update. - The client session. - The filter for the update. - The field to update. - The value of the field. - The optional partition key. - The optional cancellation token. - - - - - Asynchronously Updates a document. - - The type representing a Document. - The document with the modifications you want to persist. - - - - Updates a document. - - The type representing a Document. - The document with the modifications you want to persist. - - - - Takes a document you want to modify and applies the update you have defined in MongoDb. - - The type representing a Document. - The document you want to modify. - The update definition for the document. - - - - Takes a document you want to modify and applies the update you have defined in MongoDb. - - The type representing a Document. - The document you want to modify. - The update definition for the document. - - - - Updates the property field with the given value update a property field in entities. - - The type representing a Document. - The type of the field. - The document you want to modify. - The field selector. - The new value of the property field. - - - - Updates the property field with the given value update a property field in entities. - - The type representing a Document. - The type of the field. - The document you want to modify. - The field selector. - The new value of the property field. - - - - Updates the property field with the given value update a property field in entities. - - The type representing a Document. - The type of the field. - The document filter. - The field selector. - The new value of the property field. - The value of the partition key. - - - - For the entity selected by the filter, updates the property field with the given value. - - The type representing a Document. - The type of the field. - The document filter. - The field selector. - The new value of the property field. - The partition key for the document. - - - - Updates the property field with the given value update a property field in entities. - - The type representing a Document. - The type of the field. - The document filter. - The field selector. - The new value of the property field. - The value of the partition key. - - - - For the entity selected by the filter, updates the property field with the given value. - - The type representing a Document. - The type of the field. - The document filter. - The field selector. - The new value of the property field. - The partition key for the document. - - - - Asynchronously Updates a document. - - The type representing a Document. - The type of the primary key for a Document. - The document with the modifications you want to persist. - - - - Updates a document. - - The type representing a Document. - The type of the primary key for a Document. - The document with the modifications you want to persist. - - - - Takes a document you want to modify and applies the update you have defined in MongoDb. - - The type representing a Document. - The type of the primary key for a Document. - The document you want to modify. - The update definition for the document. - - - - Takes a document you want to modify and applies the update you have defined in MongoDb. - - The type representing a Document. - The type of the primary key for a Document. - The document you want to modify. - The update definition for the document. - - - - Updates the property field with the given value update a property field in entities. - - The type representing a Document. - The type of the primary key for a Document. - The type of the field. - The document you want to modify. - The field selector. - The new value of the property field. - - - - Updates the property field with the given value update a property field in entities. - - The type representing a Document. - The type of the primary key for a Document. - The type of the field. - The document you want to modify. - The field selector. - The new value of the property field. - - - - Updates the property field with the given value. - - The type representing a Document. - The type of the primary key for a Document. - The type of the field. - The document filter. - The field selector. - The new value of the property field. - The value of the partition key. - - - - For the entity selected by the filter, updates the property field with the given value. - - The type representing a Document. - The type of the primary key for a Document. - The type of the field. - The document filter. - The field selector. - The new value of the property field. - The partition key for the document. - - - - Updates the property field with the given value update a property field in entities. - - The type representing a Document. - The type of the primary key for a Document. - The type of the field. - The document filter. - The field selector. - The new value of the property field. - The value of the partition key. - - - - For the entity selected by the filter, updates the property field with the given value. - - The type representing a Document. - The type of the primary key for a Document. - The type of the field. - The document filter. - The field selector. - The new value of the property field. - The partition key for the document. - - - - Deletes a document. - - The type representing a Document. - The type of the primary key for a Document. - The document you want to delete. - The number of documents deleted. - - - - Asynchronously deletes a document matching the condition of the LINQ expression filter. - - The type representing a Document. - The type of the primary key for a Document. - The document you want to delete. - The number of documents deleted. - - - - Deletes a document matching the condition of the LINQ expression filter. - - The type representing a Document. - The type of the primary key for a Document. - A LINQ expression filter. - An optional partition key. - The number of documents deleted. - - - - Asynchronously deletes a document matching the condition of the LINQ expression filter. - - The type representing a Document. - The type of the primary key for a Document. - A LINQ expression filter. - An optional partition key. - The number of documents deleted. - - - - Asynchronously deletes the documents matching the condition of the LINQ expression filter. - - The type representing a Document. - The type of the primary key for a Document. - A LINQ expression filter. - An optional partition key. - The number of documents deleted. - - - - Asynchronously deletes a list of documents. - - The type representing a Document. - The type of the primary key for a Document. - The list of documents to delete. - The number of documents deleted. - - - - Deletes a list of documents. - - The type representing a Document. - The type of the primary key for a Document. - The list of documents to delete. - The number of documents deleted. - - - - Deletes the documents matching the condition of the LINQ expression filter. - - The type representing a Document. - The type of the primary key for a Document. - A LINQ expression filter. - An optional partition key. - The number of documents deleted. - - - - Returns the names of the indexes present on a collection. - - The type representing a Document. - The type of the primary key for a Document. - An optional partition key - A list containing the names of the indexes on on the concerned collection. - - - - Create a text index on the given field. - IndexCreationOptions can be supplied to further specify - how the creation should be done. - - The type representing a Document. - The type of the primary key for a Document. - The field we want to index. - Options for creating an index. - An optional partition key. - The result of the create index operation. - - - - Creates an index on the given field in ascending order. - IndexCreationOptions can be supplied to further specify - how the creation should be done. - - The type representing a Document. - The type of the primary key for a Document. - The field we want to index. - Options for creating an index. - An optional partition key. - The result of the create index operation. - - - - Creates an index on the given field in descending order. - IndexCreationOptions can be supplied to further specify - how the creation should be done. - - The type representing a Document. - The type of the primary key for a Document. - The field we want to index. - Options for creating an index. - An optional partition key. - The result of the create index operation. - - - - Creates a hashed index on the given field. - IndexCreationOptions can be supplied to further specify - how the creation should be done. - - The type representing a Document. - The type of the primary key for a Document. - The field we want to index. - Options for creating an index. - An optional partition key. - The result of the create index operation. - - - - Creates a combined text index. - IndexCreationOptions can be supplied to further specify - how the creation should be done. - - The type representing a Document. - The type of the primary key for a Document. - The fields we want to index. - Options for creating an index. - An optional partition key. - The result of the create index operation. - - - - Drops the index given a field name - - The type representing a Document. - The type of the primary key for a Document. - The name of the index - An optional partition key - - - - The interface exposing data insertion functionality for Key typed repositories. - - - - - - Asynchronously adds a document to the collection. - Populates the Id and AddedAtUtc fields if necessary. - - The type representing a Document. - The document you want to add. - - - - Adds a document to the collection. - Populates the Id and AddedAtUtc fields if necessary. - - The type representing a Document. - The document you want to add. - - - - Asynchronously adds a list of documents to the collection. - Populates the Id and AddedAtUtc fields if necessary. - - The type representing a Document. - The documents you want to add. - - - - Adds a list of documents to the collection. - Populates the Id and AddedAtUtc fields if necessary. - - The type representing a Document. - The documents you want to add. - - - - The base Repository, it is meant to be inherited from by your custom custom MongoRepository implementation. - Its constructor must be given a connection string and a database name. - - - The base Repository, it is meant to be inherited from by your custom custom MongoRepository implementation. - Its constructor must be given a connection string and a database name. - - - The base Repository, it is meant to be inherited from by your custom custom MongoRepository implementation. - Its constructor must be given a connection string and a database name. - - The type of the document Id. - - - - The MongoDb accessor to insert data. - - - - - Asynchronously adds a document to the collection. - Populates the Id and AddedAtUtc fields if necessary. - - The type representing a Document. - The document you want to add. - - - - Adds a document to the collection. - Populates the Id and AddedAtUtc fields if necessary. - - The type representing a Document. - The document you want to add. - - - - Asynchronously adds a list of documents to the collection. - Populates the Id and AddedAtUtc fields if necessary. - - The type representing a Document. - The documents you want to add. - - - - Adds a list of documents to the collection. - Populates the Id and AddedAtUtc fields if necessary. - - The type representing a Document. - The documents you want to add. - - - - The MongoDb accessor to delete data. - - - - - Deletes a document. - - The type representing a Document. - The document you want to delete. - The number of documents deleted. - - - - Asynchronously deletes a document matching the condition of the LINQ expression filter. - - The type representing a Document. - The document you want to delete. - The number of documents deleted. - - - - Deletes a document matching the condition of the LINQ expression filter. - - The type representing a Document. - A LINQ expression filter. - An optional partition key. - The number of documents deleted. - - - - Asynchronously deletes a document matching the condition of the LINQ expression filter. - - The type representing a Document. - A LINQ expression filter. - An optional partition key. - The number of documents deleted. - - - - Asynchronously deletes the documents matching the condition of the LINQ expression filter. - - The type representing a Document. - A LINQ expression filter. - An optional partition key. - The number of documents deleted. - - - - Asynchronously deletes a list of documents. - - The type representing a Document. - The list of documents to delete. - The number of documents deleted. - - - - Deletes a list of documents. - - The type representing a Document. - The list of documents to delete. - The number of documents deleted. - - - - Deletes the documents matching the condition of the LINQ expression filter. - - The type representing a Document. - A LINQ expression filter. - An optional partition key. - The number of documents deleted. - - - - The MongoDb accessor to manage indexes. - - - - - Returns the names of the indexes present on a collection. - - The type representing a Document. - An optional partition key - A list containing the names of the indexes on on the concerned collection. - - - - Create a text index on the given field. - IndexCreationOptions can be supplied to further specify - how the creation should be done. - - The type representing a Document. - The field we want to index. - Options for creating an index. - An optional partition key. - The result of the create index operation. - - - - Creates an index on the given field in ascending order. - IndexCreationOptions can be supplied to further specify - how the creation should be done. - - The type representing a Document. - The field we want to index. - Options for creating an index. - An optional partition key. - The result of the create index operation. - - - - Creates an index on the given field in descending order. - IndexCreationOptions can be supplied to further specify - how the creation should be done. - - The type representing a Document. - The field we want to index. - Options for creating an index. - An optional partition key. - The result of the create index operation. - - - - Creates a hashed index on the given field. - IndexCreationOptions can be supplied to further specify - how the creation should be done. - - The type representing a Document. - The field we want to index. - Options for creating an index. - An optional partition key. - The result of the create index operation. - - - - Creates a combined text index. - IndexCreationOptions can be supplied to further specify - how the creation should be done. - - The type representing a Document. - The fields we want to index. - Options for creating an index. - An optional partition key. - The result of the create index operation. - - - - Drops the index given a field name - - The type representing a Document. - The name of the index - An optional partition key - - - - The constructor taking a connection string and a database name. - - The connection string of the MongoDb server. - The name of the database against which you want to perform operations. - - - - The contructor taking a . - - A mongodb context implementing - - - - The contructor taking a . - - A mongodb context implementing - - - - Gets a collections for a potentially partitioned document type. - - The document type. - The collection partition key. - - - - - Gets a collections for the type TDocument with a partition key. - - The document type. - The collection partition key. - - - - - Asynchronously Updates a document. - - The type representing a Document. - The document with the modifications you want to persist. - - - - Updates a document. - - The type representing a Document. - The document with the modifications you want to persist. - - - - Takes a document you want to modify and applies the update you have defined in MongoDb. - - The type representing a Document. - The document you want to modify. - The update definition for the document. - - - - Takes a document you want to modify and applies the update you have defined in MongoDb. - - The type representing a Document. - The document you want to modify. - The update definition for the document. - - - - Updates the property field with the given value update a property field in entities. - - The type representing a Document. - The type of the field. - The document you want to modify. - The field selector. - The new value of the property field. - - - - Updates the property field with the given value update a property field in entities. - - The type representing a Document. - The type of the field. - The document you want to modify. - The field selector. - The new value of the property field. - - - - Updates the property field with the given value update a property field in entities. - - The type representing a Document. - The type of the field. - The document filter. - The field selector. - The new value of the property field. - The value of the partition key. - - - - For the entity selected by the filter, updates the property field with the given value. - - The type representing a Document. - The type of the field. - The document filter. - The field selector. - The new value of the property field. - The partition key for the document. - - - - Updates the property field with the given value update a property field in entities. - - The type representing a Document. - The type of the field. - The document filter. - The field selector. - The new value of the property field. - The value of the partition key. - - - - For the entity selected by the filter, updates the property field with the given value. - - The type representing a Document. - The type of the field. - The document filter. - The field selector. - The new value of the property field. - The partition key for the document. - - - - The interface exposing deletion functionality for Key typed repositories. - - The type of the document Id. - - - - Deletes a document. - - The type representing a Document. - The document you want to delete. - The number of documents deleted. - - - - Asynchronously deletes a document matching the condition of the LINQ expression filter. - - The type representing a Document. - The document you want to delete. - The number of documents deleted. - - - - Deletes a document matching the condition of the LINQ expression filter. - - The type representing a Document. - A LINQ expression filter. - An optional partition key. - The number of documents deleted. - - - - Asynchronously deletes a document matching the condition of the LINQ expression filter. - - The type representing a Document. - A LINQ expression filter. - An optional partition key. - The number of documents deleted. - - - - Asynchronously deletes the documents matching the condition of the LINQ expression filter. - - The type representing a Document. - A LINQ expression filter. - An optional partition key. - The number of documents deleted. - - - - Asynchronously deletes a list of documents. - - The type representing a Document. - The list of documents to delete. - The number of documents deleted. - - - - Deletes a list of documents. - - The type representing a Document. - The list of documents to delete. - The number of documents deleted. - - - - Deletes the documents matching the condition of the LINQ expression filter. - - The type representing a Document. - A LINQ expression filter. - An optional partition key. - The number of documents deleted. - - - - The interface exposing index management functionality for Key typed repositories. - - - - - - Returns the names of the indexes present on a collection. - - The type representing a Document. - An optional partition key - A list containing the names of the indexes on on the concerned collection. - - - - Create a text index on the given field. - IndexCreationOptions can be supplied to further specify - how the creation should be done. - - The type representing a Document. - The field we want to index. - Options for creating an index. - An optional partition key. - The result of the create index operation. - - - - Creates an index on the given field in ascending order. - IndexCreationOptions can be supplied to further specify - how the creation should be done. - - The type representing a Document. - The field we want to index. - Options for creating an index. - An optional partition key. - The result of the create index operation. - - - - Creates an index on the given field in descending order. - IndexCreationOptions can be supplied to further specify - how the creation should be done. - - The type representing a Document. - The field we want to index. - Options for creating an index. - An optional partition key. - The result of the create index operation. - - - - Creates a hashed index on the given field. - IndexCreationOptions can be supplied to further specify - how the creation should be done. - - The type representing a Document. - The field we want to index. - Options for creating an index. - An optional partition key. - The result of the create index operation. - - - - Creates a combined text index. - IndexCreationOptions can be supplied to further specify - how the creation should be done. - - The type representing a Document. - The fields we want to index. - Options for creating an index. - An optional partition key. - The result of the create index operation. - - - - Drops the index given a field name - - The type representing a Document. - The name of the index - An optional partition key - - - - The interface exposing all the CRUD and Index functionalities for Key typed repositories. - - The type of the document Id. - - - - The base Repository, it is meant to be inherited from by your custom custom MongoRepository implementation. - Its constructor must be given a connection string and a database name. - - - - - The connection string. - - - - - The database name. - - - - - The MongoDbContext - - - - - A MongoDb Reader for read operations - - - - - The constructor taking a connection string and a database name. - - The connection string of the MongoDb server. - The name of the database against which you want to perform operations. - - - - The contructor taking a . - - A mongodb context implementing - - - - The contructor taking a . - - A mongodb context implementing - - - - Asynchronously returns one document given its id. - - The type representing a Document. - The Id of the document you want to get. - An optional partition key. - - - - Returns one document given its id. - - The type representing a Document. - The Id of the document you want to get. - An optional partition key. - - - - Asynchronously returns one document given an expression filter. - - The type representing a Document. - A LINQ expression filter. - An optional partition key. - - - - Returns one document given an expression filter. - - The type representing a Document. - A LINQ expression filter. - An optional partition key. - - - - Returns a collection cursor. - - The type representing a Document. - A LINQ expression filter. - An optional partition key. - - - - Returns true if any of the document of the collection matches the filter condition. - - The type representing a Document. - A LINQ expression filter. - An optional partition key. - - - - Returns true if any of the document of the collection matches the filter condition. - - The type representing a Document. - A LINQ expression filter. - An optional partition key. - - - - Asynchronously returns a list of the documents matching the filter condition. - - The type representing a Document. - A LINQ expression filter. - An optional partition key. - - - - Returns a list of the documents matching the filter condition. - - The type representing a Document. - A LINQ expression filter. - An optional partition key. - - - - Asynchronously counts how many documents match the filter condition. - - The type representing a Document. - A LINQ expression filter. - An optional partitionKey - - - - Counts how many documents match the filter condition. - - The type representing a Document. - A LINQ expression filter. - An optional partitionKey - - - - Gets the document with the maximum value of a specified property in a MongoDB collections that is satisfying the filter. - - The document type. - A LINQ expression filter. - A property selector to order by descending. - An optional partitionKey. - - - - Gets the document with the maximum value of a specified property in a MongoDB collections that is satisfying the filter. - - The document type. - A LINQ expression filter. - A property selector to order by descending. - An optional partitionKey. - - - - - Gets the document with the maximum value of a specified property in a MongoDB collections that is satisfying the filter. - - The document type. - A LINQ expression filter. - A property selector to order by ascending. - An optional partitionKey. - - - - Gets the document with the maximum value of a specified property in a MongoDB collections that is satisfying the filter. - - The document type. - A LINQ expression filter. - A property selector to order by ascending. - An optional partitionKey. - - - - Gets the maximum value of a property in a mongodb collections that is satisfying the filter. - - The document type. - The type of the value used to order the query. - A LINQ expression filter. - A property selector to order by ascending. - An optional partitionKey. - - - - Gets the maximum value of a property in a mongodb collections that is satisfying the filter. - - The document type. - The type of the value used to order the query. - A LINQ expression filter. - A property selector to order by ascending. - An optional partitionKey. - - - - Gets the minimum value of a property in a mongodb collections that is satisfying the filter. - - The document type. - The type of the value used to order the query. - A LINQ expression filter. - A property selector to order by ascending. - An optional partition key. - - - - Gets the minimum value of a property in a mongodb collections that is satisfying the filter. - - The document type. - The type of the value used to order the query. - A LINQ expression filter. - A property selector to order by ascending. - An optional partition key. - - - - Sums the values of a selected field for a given filtered collection of documents. - - The type representing a Document. - A LINQ expression filter. - The field you want to sum. - The partition key of your document, if any. - - - - Sums the values of a selected field for a given filtered collection of documents. - - The type representing a Document. - A LINQ expression filter. - The field you want to sum. - The partition key of your document, if any. - - - - Sums the values of a selected field for a given filtered collection of documents. - - The type representing a Document. - A LINQ expression filter. - The field you want to sum. - The partition key of your document, if any. - - - - Sums the values of a selected field for a given filtered collection of documents. - - The type representing a Document. - A LINQ expression filter. - The field you want to sum. - The partition key of your document, if any. - - - - Asynchronously returns a projected document matching the filter condition. - - The type representing a Document. - The type of the primary key for a Document. - The type representing the model you want to project to. - A LINQ expression filter. - The projection expression. - An optional partition key. - - - - Returns a projected document matching the filter condition. - - The type representing a Document. - The type representing the model you want to project to. - A LINQ expression filter. - The projection expression. - An optional partition key. - - - - Asynchronously returns a list of projected documents matching the filter condition. - - The type representing a Document. - The type representing the model you want to project to. - A LINQ expression filter. - The projection expression. - An optional partition key. - - - - Asynchronously returns a list of projected documents matching the filter condition. - - The type representing a Document. - The type representing the model you want to project to. - A LINQ expression filter. - The projection expression. - An optional partition key. - - - - Groups a collection of documents given a grouping criteria, - and returns a dictionary of listed document groups with keys having the different values of the grouping criteria. - - The type representing a Document. - The type of the grouping criteria. - The type of the projected group. - The grouping criteria. - The projected group result. - The partition key of your document, if any. - - - - Groups filtered a collection of documents given a grouping criteria, - and returns a dictionary of listed document groups with keys having the different values of the grouping criteria. - - The type representing a Document. - The type of the grouping criteria. - The type of the projected group. - A LINQ expression filter. - The grouping criteria. - The projected group result. - The partition key of your document, if any. - - - - Asynchronously returns a paginated list of the documents matching the filter condition. - - The type representing a Document. - A LINQ expression filter. - The property selector. - Order of the sorting. - The number of documents you want to skip. Default value is 0. - The number of documents you want to take. Default value is 50. - An optional partition key. - - - - Asynchronously returns a paginated list of the documents matching the filter condition. - - The type representing a Document. - A LINQ expression filter. - The sort definition. - The number of documents you want to skip. Default value is 0. - The number of documents you want to take. Default value is 50. - An optional partition key. - - - - Asynchronously Updates a document. - - The type representing a Document. - The document with the modifications you want to persist. - - - - Updates a document. - - The type representing a Document. - The document with the modifications you want to persist. - - - - Takes a document you want to modify and applies the update you have defined in MongoDb. - - The type representing a Document. - The document you want to modify. - The update definition for the document. - - - - Takes a document you want to modify and applies the update you have defined in MongoDb. - - The type representing a Document. - The document you want to modify. - The update definition for the document. - - - - Updates the property field with the given value update a property field in entities. - - The type representing a Document. - The type of the field. - The document you want to modify. - The field selector. - The new value of the property field. - - - - Updates the property field with the given value update a property field in entities. - - The type representing a Document. - The type of the field. - The document you want to modify. - The field selector. - The new value of the property field. - - - - Updates the property field with the given value update a property field in entities. - - The type representing a Document. - The type of the field. - The document filter. - The field selector. - The new value of the property field. - The value of the partition key. - - - - For the entity selected by the filter, updates the property field with the given value. - - The type representing a Document. - The type of the field. - The document filter. - The field selector. - The new value of the property field. - The partition key for the document. - - - - Updates the property field with the given value update a property field in entities. - - The type representing a Document. - The type of the field. - The document filter. - The field selector. - The new value of the property field. - The value of the partition key. - - - - For the entity selected by the filter, updates the property field with the given value. - - The type representing a Document. - The type of the field. - The document filter. - The field selector. - The new value of the property field. - The partition key for the document. - - - - This class represents a basic document that can be stored in MongoDb. - Your document must implement this class in order for the MongoDbRepository to handle them. - - - - - The document constructor - - - - - The Id of the document - - - - - The datetime in UTC at which the document was added. - - - - - The version of the schema of the document - - - - - This class represents a basic document that can be stored in MongoDb. - Your document must implement this class in order for the MongoDbRepository to handle them. - - - - - The Primary Key, which must be decorated with the [BsonId] attribute - if you want the MongoDb C# driver to consider it to be the document ID. - - - - - A version number, to indicate the version of the schema. - - - - - This class represents a basic document that can be stored in MongoDb. - Your document must implement this class in order for the MongoDbRepository to handle them. - - - - - Options for creating an index. - - - - - Gets or sets a value indicating whether the index is a unique index. - - - - - Gets or sets the index version for text indexes. - - - - - Gets or sets the index version for 2dsphere indexes. - - - - - Gets or sets a value indicating whether the index is a sparse index. - - - - - Gets or sets the index name. - - - - - Gets or sets the min value for 2d indexes. - - - - - Gets or sets the max value for 2d indexes. - - - - - Gets or sets the language override. - - - - - Gets or sets when documents expire (used with TTL indexes). - - - - - Gets or sets the default language. - - - - - Gets or sets the size of a geohash bucket. - - - - - Gets or sets the precision, in bits, used with geohash indexes. - - - - - Gets or sets a value indicating whether to create the index in the background. - - - - - Gets or sets the version of the index. - - - - - This class represents a document that can be inserted in a collection that can be partitioned. - The partition key allows for the creation of different collections having the same document schema. - This can be useful if you are planning to build a Software as a Service (SaaS) Platform, or if you want to reduce indexing. - You could for example insert Logs in different collections based on the week and year they where created, or their Log category/source. - - - - - The partition key used to partition your collection. - - - - - This class represents a document that can be inserted in a collection that can be partitioned. - The partition key allows for the creation of different collections having the same document schema. - This can be useful if you are planning to build a Software as a Service (SaaS) Platform, or if you want to reduce indexing. - You could for example insert Logs in different collections based on the week and year they where created, or their Log category/source. - - - - - The constructor, it needs a partition key. - - - - - - The name of the property used for partitioning the collection - This will not be inserted into the collection. - This partition key will be prepended to the collection name to create a new collection. - - - - - The MongoDb context - - - - - The IMongoClient from the official MongoDB driver - - - - - The IMongoDatabase from the official MongoDB driver - - - - - The constructor of the MongoDbContext, it needs an object implementing . - - An object implementing IMongoDatabase - - - - The constructor of the MongoDbContext, it needs a connection string and a database name. - - The connections string. - The name of your database. - - - - Initialise an instance of a using a connection string - - - - - - The constructor of the MongoDbContext, it needs a connection string and a database name. - - The MongoClient. - The name of your database. - - - - Returns a collection for a document type. Also handles document types with a partition key. - - The type representing a Document. - The optional value of the partition key. - - - - Drops a collection, use very carefully. - - The type representing a Document. - - - - Sets the Guid representation of the MongoDB Driver. - - The new value of the GuidRepresentation - - - - Extracts the CollectionName attribute from the entity type, if any. - - The type representing a Document. - The name of the collection in which the TDocument is stored. - - - - Initialize the Guid representation of the MongoDB Driver. - Override this method to change the default GuidRepresentation. - - - - - Given the document type and the partition key, returns the name of the collection it belongs to. - - The type representing a Document. - The value of the partition key. - The name of the collection. - - - - Very naively pluralizes a TDocument type name. - - The type representing a Document. - The pluralized document name. - - - - The base Repository, it is meant to be inherited from by your custom custom MongoRepository implementation. - Its constructor must be given a connection string and a database name. - - - - - The constructor taking a connection string and a database name. - - The connection string of the MongoDb server. - The name of the database against which you want to perform operations. - - - - The contructor taking a . - - A mongodb context implementing - - - - The contructor taking a . - - A mongodb context implementing - - - - Asynchronously returns one document given its id. - - The type representing a Document. - The type of the primary key for a Document. - The Id of the document you want to get. - An optional partition key. - - - - Returns one document given its id. - - The type representing a Document. - The type of the primary key for a Document. - The Id of the document you want to get. - An optional partition key. - - - - Asynchronously returns one document given an expression filter. - - The type representing a Document. - The type of the primary key for a Document. - A LINQ expression filter. - An optional partition key. - - - - Returns one document given an expression filter. - - The type representing a Document. - The type of the primary key for a Document. - A LINQ expression filter. - An optional partition key. - - - - Returns a collection cursor. - - The type representing a Document. - The type of the primary key for a Document. - A LINQ expression filter. - An optional partition key. - - - - Returns true if any of the document of the collection matches the filter condition. - - The type representing a Document. - The type of the primary key for a Document. - A LINQ expression filter. - An optional partition key. - - - - Returns true if any of the document of the collection matches the filter condition. - - The type representing a Document. - The type of the primary key for a Document. - A LINQ expression filter. - An optional partition key. - - - - Asynchronously returns a list of the documents matching the filter condition. - - The type representing a Document. - The type of the primary key for a Document. - A LINQ expression filter. - An optional partition key. - - - - Returns a list of the documents matching the filter condition. - - The type representing a Document. - The type of the primary key for a Document. - A LINQ expression filter. - An optional partition key. - - - - Asynchronously counts how many documents match the filter condition. - - The type representing a Document. - The type of the primary key for a Document. - A LINQ expression filter. - An optional partitionKey - - - - Counts how many documents match the filter condition. - - The type representing a Document. - The type of the primary key for a Document. - A LINQ expression filter. - An optional partitionKey - - - - Gets the document with the maximum value of a specified property in a MongoDB collections that is satisfying the filter. - - The document type. - The type of the primary key. - A LINQ expression filter. - A property selector to order by descending. - An optional partitionKey. - - - - Gets the document with the maximum value of a specified property in a MongoDB collections that is satisfying the filter. - - The document type. - The type of the primary key. - A LINQ expression filter. - A property selector to order by descending. - An optional partitionKey. - - - - Gets the document with the minimum value of a specified property in a MongoDB collections that is satisfying the filter. - - The document type. - The type of the primary key. - A LINQ expression filter. - A property selector to order by ascending. - An optional partitionKey. - - - - Gets the document with the minimum value of a specified property in a MongoDB collections that is satisfying the filter. - - The document type. - The type of the primary key. - A LINQ expression filter. - A property selector to order by ascending. - An optional partitionKey. - - - - Gets the maximum value of a property in a mongodb collections that is satisfying the filter. - - The document type. - The type of the primary key. - The type of the value used to order the query. - A LINQ expression filter. - A property selector to select the max value. - An optional partitionKey. - - - - Gets the maximum value of a property in a mongodb collections that is satisfying the filter. - - The document type. - The type of the primary key. - The type of the value used to order the query. - A LINQ expression filter. - A property selector to order by ascending. - An optional partitionKey. - - - - Gets the minimum value of a property in a mongodb collections that is satisfying the filter. - - The document type. - The type of the primary key. - The type of the value used to order the query. - A LINQ expression filter. - A property selector to order by ascending. - An optional partition key. - - - - Gets the minimum value of a property in a mongodb collections that is satisfying the filter. - - The document type. - The type of the primary key. - The type of the value used to order the query. - A LINQ expression filter. - A property selector to order by ascending. - An optional partition key. - - - - Sums the values of a selected field for a given filtered collection of documents. - - The type representing a Document. - The type of the primary key. - A LINQ expression filter. - The field you want to sum. - The partition key of your document, if any. - - - - Sums the values of a selected field for a given filtered collection of documents. - - The type representing a Document. - The type of the primary key. - A LINQ expression filter. - The field you want to sum. - The partition key of your document, if any. - - - - Sums the values of a selected field for a given filtered collection of documents. - - The type representing a Document. - The type of the primary key. - A LINQ expression filter. - The field you want to sum. - The partition key of your document, if any. - - - - Sums the values of a selected field for a given filtered collection of documents. - - The type representing a Document. - The type of the primary key. - A LINQ expression filter. - The field you want to sum. - The partition key of your document, if any. - - - - Asynchronously returns a projected document matching the filter condition. - - The type representing a Document. - The type of the primary key for a Document. - The type representing the model you want to project to. - A LINQ expression filter. - The projection expression. - An optional partition key. - - - - Returns a projected document matching the filter condition. - - The type representing a Document. - The type of the primary key for a Document. - The type representing the model you want to project to. - A LINQ expression filter. - The projection expression. - An optional partition key. - - - - Asynchronously returns a list of projected documents matching the filter condition. - - The type representing a Document. - The type of the primary key for a Document. - The type representing the model you want to project to. - A LINQ expression filter. - The projection expression. - An optional partition key. - - - - Asynchronously returns a list of projected documents matching the filter condition. - - The type representing a Document. - The type of the primary key for a Document. - The type representing the model you want to project to. - The document filter. - The projection expression. - An optional partition key. - - - - Groups filtered a collection of documents given a grouping criteria, - and returns a dictionary of listed document groups with keys having the different values of the grouping criteria. - - The type representing a Document. - The type of the primary key for a Document. - The type of the grouping criteria. - The type of the projected group. - The grouping criteria. - The projected group result. - The partition key of your document, if any. - - - - Groups filtered a collection of documents given a grouping criteria, - and returns a dictionary of listed document groups with keys having the different values of the grouping criteria. - - The type representing a Document. - The type of the primary key for a Document. - The type of the grouping criteria. - The type of the projected group. - A LINQ expression filter. - The grouping criteria. - The projected group result. - The partition key of your document, if any. - - - - Asynchronously returns a paginated list of the documents matching the filter condition. - - The type representing a Document. - The type of the primary key for a Document. - A LINQ expression filter. - The property selector. - Order of the sorting. - The number of documents you want to skip. Default value is 0. - The number of documents you want to take. Default value is 50. - An optional partition key. - - - - Asynchronously returns a paginated list of the documents matching the filter condition. - - The type representing a Document. - The type of the primary key for a Document. - A LINQ expression filter. - The sort definition. - The number of documents you want to skip. Default value is 0. - The number of documents you want to take. Default value is 50. - An optional partition key. - - - - Gets a collections for a potentially partitioned document type. - - The document type. - The type of the primary key. - The document. - - - - - Gets a collections for a potentially partitioned document type. - - The document type. - The type of the primary key. - The collection partition key. - - - - - Gets a collections for a potentially partitioned document type. - - The document type. - The document. - - - - - Gets a collections for the type TDocument with a partition key. - - The document type. - The type of the primary key. - The collection partition key. - - - - - The IdGenerator instance, used to generate Ids of different types. - - - - - Generates a random value of a given type. - - The type of the value to generate. - A value of type TKey. - - - - Container for registered Vocabularies. At present, only a single vocabulary is supported: Default. - - - - - The default vocabulary used for singular/plural irregularities. - Rules can be added to this vocabulary and will be picked up by called to Singularize() and Pluralize(). - At this time, multiple vocabularies and removing existing rules are not supported. - - - - - A container for exceptions to simple pluralization/singularization rules. - Vocabularies.Default contains an extensive list of rules for US English. - At this time, multiple vocabularies and removing existing rules are not supported. - - - - - Adds a word to the vocabulary which cannot easily be pluralized/singularized by RegEx, e.g. "person" and "people". - - The singular form of the irregular word, e.g. "person". - The plural form of the irregular word, e.g. "people". - True to match these words on their own as well as at the end of longer words. False, otherwise. - - - - Adds an uncountable word to the vocabulary, e.g. "fish". Will be ignored when plurality is changed. - - Word to be added to the list of uncountables. - - - - Adds a rule to the vocabulary that does not follow trivial rules for pluralization, e.g. "bus" -> "buses" - - RegEx to be matched, case insensitive, e.g. "(bus)es$" - RegEx replacement e.g. "$1" - - - - Adds a rule to the vocabulary that does not follow trivial rules for singularization, e.g. "vertices/indices -> "vertex/index" - - RegEx to be matched, case insensitive, e.g. ""(vert|ind)ices$"" - RegEx replacement e.g. "$1ex" - - - - Pluralizes the provided input considering irregular words - - Word to be pluralized - Normally you call Pluralize on singular words; but if you're unsure call it with false - - - - - Singularizes the provided input considering irregular words - - Word to be singularized - Normally you call Singularize on plural words; but if you're unsure call it with false - - - - - Inflector extensions - - - - - Pluralizes the provided input considering irregular words - - Word to be pluralized - Normally you call Pluralize on singular words; but if you're unsure call it with false - - - - - Singularizes the provided input considering irregular words - - Word to be singularized - Normally you call Singularize on plural words; but if you're unsure call it with false - - - - - By default, pascalize converts strings to UpperCamelCase also removing underscores - - - - - - - Same as Pascalize except that the first character is lower case - - - - - - - Separates the input words with underscore - - The string to be underscored - - - - - Replaces underscores with dashes in the string - - - - - - - Replaces underscores with hyphens in the string - - - - - - - Extensions for the random number generator - - - - - Returns a random long from min (inclusive) to max (exclusive) - - The given random instance - The inclusive minimum bound - The exclusive maximum bound. Must be greater than min - - - - Returns a random long from 0 (inclusive) to max (exclusive) - - The given random instance - The exclusive maximum bound. Must be greater than 0 - - - - Returns a random long over all possible values of long (except long.MaxValue, similar to - random.Next()) - - The given random instance - - - diff --git a/MongoDbGenericRepository/lib/netstandard1.5/MongoDbGenericRepository.deps.json b/MongoDbGenericRepository/lib/netstandard1.5/MongoDbGenericRepository.deps.json deleted file mode 100644 index dff559a..0000000 --- a/MongoDbGenericRepository/lib/netstandard1.5/MongoDbGenericRepository.deps.json +++ /dev/null @@ -1,1829 +0,0 @@ -{ - "runtimeTarget": { - "name": ".NETStandard,Version=v1.5/", - "signature": "89b5d0501e3f13fb98f678ed96fc31de9d7405cf" - }, - "compilationOptions": {}, - "targets": { - ".NETStandard,Version=v1.5": {}, - ".NETStandard,Version=v1.5/": { - "MongoDbGenericRepository/1.0.0": { - "dependencies": { - "MongoDB.Driver": "2.9.3", - "NETStandard.Library": "1.6.1" - }, - "runtime": { - "MongoDbGenericRepository.dll": {} - } - }, - "DnsClient/1.2.0": { - "dependencies": { - "Microsoft.Win32.Primitives": "4.3.0", - "NETStandard.Library": "1.6.1", - "System.Buffers": "4.4.0", - "System.Collections": "4.3.0", - "System.Collections.Concurrent": "4.3.0", - "System.Globalization.Extensions": "4.3.0", - "System.IO.FileSystem": "4.3.0", - "System.Linq": "4.3.0", - "System.Net.NameResolution": "4.3.0", - "System.Net.NetworkInformation": "4.3.0", - "System.Net.Sockets": "4.3.0", - "System.Runtime.Extensions": "4.3.0", - "System.Runtime.InteropServices": "4.3.0", - "System.Runtime.InteropServices.RuntimeInformation": "4.3.0", - "System.Text.Encoding": "4.3.0", - "System.Threading": "4.3.0" - }, - "runtime": { - "lib/netstandard1.3/DnsClient.dll": { - "assemblyVersion": "1.2.0.0", - "fileVersion": "1.2.0.0" - } - } - }, - "Microsoft.NETCore.Platforms/1.1.0": {}, - "Microsoft.NETCore.Targets/1.1.0": {}, - "Microsoft.Win32.Primitives/4.3.0": { - "dependencies": { - "Microsoft.NETCore.Platforms": "1.1.0", - "Microsoft.NETCore.Targets": "1.1.0", - "System.Runtime": "4.3.0" - } - }, - "Microsoft.Win32.Registry/4.0.0": { - "dependencies": { - "Microsoft.NETCore.Platforms": "1.1.0", - "System.Collections": "4.3.0", - "System.Globalization": "4.3.0", - "System.Resources.ResourceManager": "4.3.0", - "System.Runtime": "4.3.0", - "System.Runtime.Extensions": "4.3.0", - "System.Runtime.Handles": "4.3.0", - "System.Runtime.InteropServices": "4.3.0" - } - }, - "MongoDB.Bson/2.9.3": { - "dependencies": { - "NETStandard.Library": "1.6.1", - "System.Collections.NonGeneric": "4.0.1", - "System.Diagnostics.Process": "4.1.0", - "System.Dynamic.Runtime": "4.0.11", - "System.Reflection.Emit.Lightweight": "4.3.0", - "System.Runtime.Serialization.Formatters": "4.3.0" - }, - "runtime": { - "lib/netstandard1.5/MongoDB.Bson.dll": { - "assemblyVersion": "2.9.3.0", - "fileVersion": "2.9.3.0" - } - } - }, - "MongoDB.Driver/2.9.3": { - "dependencies": { - "MongoDB.Bson": "2.9.3", - "MongoDB.Driver.Core": "2.9.3", - "NETStandard.Library": "1.6.1", - "System.ComponentModel.TypeConverter": "4.1.0", - "System.Linq.Queryable": "4.0.1" - }, - "runtime": { - "lib/netstandard1.5/MongoDB.Driver.dll": { - "assemblyVersion": "2.9.3.0", - "fileVersion": "2.9.3.0" - } - } - }, - "MongoDB.Driver.Core/2.9.3": { - "dependencies": { - "DnsClient": "1.2.0", - "MongoDB.Bson": "2.9.3", - "NETStandard.Library": "1.6.1", - "SharpCompress": "0.23.0", - "System.Collections.Specialized": "4.0.1", - "System.Diagnostics.TextWriterTraceListener": "4.0.0", - "System.Diagnostics.TraceSource": "4.0.0", - "System.Net.NameResolution": "4.3.0", - "System.Net.Security": "4.3.2", - "System.Security.SecureString": "4.0.0", - "System.Threading.Thread": "4.3.0" - }, - "runtime": { - "lib/netstandard1.5/MongoDB.Driver.Core.dll": { - "assemblyVersion": "2.9.3.0", - "fileVersion": "2.9.3.0" - } - } - }, - "NETStandard.Library/1.6.1": { - "dependencies": { - "Microsoft.NETCore.Platforms": "1.1.0", - "Microsoft.Win32.Primitives": "4.3.0", - "System.AppContext": "4.3.0", - "System.Collections": "4.3.0", - "System.Collections.Concurrent": "4.3.0", - "System.Console": "4.3.0", - "System.Diagnostics.Debug": "4.3.0", - "System.Diagnostics.Tools": "4.3.0", - "System.Diagnostics.Tracing": "4.3.0", - "System.Globalization": "4.3.0", - "System.Globalization.Calendars": "4.3.0", - "System.IO": "4.3.0", - "System.IO.Compression": "4.3.0", - "System.IO.Compression.ZipFile": "4.3.0", - "System.IO.FileSystem": "4.3.0", - "System.IO.FileSystem.Primitives": "4.3.0", - "System.Linq": "4.3.0", - "System.Linq.Expressions": "4.3.0", - "System.Net.Http": "4.3.0", - "System.Net.Primitives": "4.3.0", - "System.Net.Sockets": "4.3.0", - "System.ObjectModel": "4.3.0", - "System.Reflection": "4.3.0", - "System.Reflection.Extensions": "4.3.0", - "System.Reflection.Primitives": "4.3.0", - "System.Resources.ResourceManager": "4.3.0", - "System.Runtime": "4.3.0", - "System.Runtime.Extensions": "4.3.0", - "System.Runtime.Handles": "4.3.0", - "System.Runtime.InteropServices": "4.3.0", - "System.Runtime.InteropServices.RuntimeInformation": "4.3.0", - "System.Runtime.Numerics": "4.3.0", - "System.Security.Cryptography.Algorithms": "4.3.0", - "System.Security.Cryptography.Encoding": "4.3.0", - "System.Security.Cryptography.Primitives": "4.3.0", - "System.Security.Cryptography.X509Certificates": "4.3.0", - "System.Text.Encoding": "4.3.0", - "System.Text.Encoding.Extensions": "4.3.0", - "System.Text.RegularExpressions": "4.3.0", - "System.Threading": "4.3.0", - "System.Threading.Tasks": "4.3.0", - "System.Threading.Timer": "4.3.0", - "System.Xml.ReaderWriter": "4.3.0", - "System.Xml.XDocument": "4.3.0" - } - }, - "runtime.debian.8-x64.runtime.native.System.Security.Cryptography.OpenSsl/4.3.0": {}, - "runtime.fedora.23-x64.runtime.native.System.Security.Cryptography.OpenSsl/4.3.0": {}, - "runtime.fedora.24-x64.runtime.native.System.Security.Cryptography.OpenSsl/4.3.0": {}, - "runtime.native.System/4.3.0": { - "dependencies": { - "Microsoft.NETCore.Platforms": "1.1.0", - "Microsoft.NETCore.Targets": "1.1.0" - } - }, - "runtime.native.System.IO.Compression/4.3.0": { - "dependencies": { - "Microsoft.NETCore.Platforms": "1.1.0", - "Microsoft.NETCore.Targets": "1.1.0" - } - }, - "runtime.native.System.Security.Cryptography.OpenSsl/4.3.0": { - "dependencies": { - "runtime.debian.8-x64.runtime.native.System.Security.Cryptography.OpenSsl": "4.3.0", - "runtime.fedora.23-x64.runtime.native.System.Security.Cryptography.OpenSsl": "4.3.0", - "runtime.fedora.24-x64.runtime.native.System.Security.Cryptography.OpenSsl": "4.3.0", - "runtime.opensuse.13.2-x64.runtime.native.System.Security.Cryptography.OpenSsl": "4.3.0", - "runtime.opensuse.42.1-x64.runtime.native.System.Security.Cryptography.OpenSsl": "4.3.0", - "runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.OpenSsl": "4.3.0", - "runtime.rhel.7-x64.runtime.native.System.Security.Cryptography.OpenSsl": "4.3.0", - "runtime.ubuntu.14.04-x64.runtime.native.System.Security.Cryptography.OpenSsl": "4.3.0", - "runtime.ubuntu.16.04-x64.runtime.native.System.Security.Cryptography.OpenSsl": "4.3.0", - "runtime.ubuntu.16.10-x64.runtime.native.System.Security.Cryptography.OpenSsl": "4.3.0" - } - }, - "runtime.opensuse.13.2-x64.runtime.native.System.Security.Cryptography.OpenSsl/4.3.0": {}, - "runtime.opensuse.42.1-x64.runtime.native.System.Security.Cryptography.OpenSsl/4.3.0": {}, - "runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.OpenSsl/4.3.0": {}, - "runtime.rhel.7-x64.runtime.native.System.Security.Cryptography.OpenSsl/4.3.0": {}, - "runtime.ubuntu.14.04-x64.runtime.native.System.Security.Cryptography.OpenSsl/4.3.0": {}, - "runtime.ubuntu.16.04-x64.runtime.native.System.Security.Cryptography.OpenSsl/4.3.0": {}, - "runtime.ubuntu.16.10-x64.runtime.native.System.Security.Cryptography.OpenSsl/4.3.0": {}, - "SharpCompress/0.23.0": { - "dependencies": { - "NETStandard.Library": "1.6.1", - "System.Text.Encoding.CodePages": "4.5.1" - }, - "runtime": { - "lib/netstandard1.3/SharpCompress.dll": { - "assemblyVersion": "0.23.0.0", - "fileVersion": "0.23.0.0" - } - } - }, - "System.AppContext/4.3.0": { - "dependencies": { - "System.Runtime": "4.3.0" - } - }, - "System.Buffers/4.4.0": { - "dependencies": { - "System.Diagnostics.Debug": "4.3.0", - "System.Diagnostics.Tracing": "4.3.0", - "System.Resources.ResourceManager": "4.3.0", - "System.Runtime": "4.3.0", - "System.Threading": "4.3.0" - }, - "runtime": { - "lib/netstandard1.1/System.Buffers.dll": { - "assemblyVersion": "4.0.2.0", - "fileVersion": "4.6.25519.3" - } - } - }, - "System.Collections/4.3.0": { - "dependencies": { - "Microsoft.NETCore.Platforms": "1.1.0", - "Microsoft.NETCore.Targets": "1.1.0", - "System.Runtime": "4.3.0" - } - }, - "System.Collections.Concurrent/4.3.0": { - "dependencies": { - "System.Collections": "4.3.0", - "System.Diagnostics.Debug": "4.3.0", - "System.Diagnostics.Tracing": "4.3.0", - "System.Globalization": "4.3.0", - "System.Reflection": "4.3.0", - "System.Resources.ResourceManager": "4.3.0", - "System.Runtime": "4.3.0", - "System.Runtime.Extensions": "4.3.0", - "System.Threading": "4.3.0", - "System.Threading.Tasks": "4.3.0" - }, - "runtime": { - "lib/netstandard1.3/System.Collections.Concurrent.dll": { - "assemblyVersion": "4.0.13.0", - "fileVersion": "4.6.24705.1" - } - } - }, - "System.Collections.NonGeneric/4.0.1": { - "dependencies": { - "System.Diagnostics.Debug": "4.3.0", - "System.Globalization": "4.3.0", - "System.Resources.ResourceManager": "4.3.0", - "System.Runtime": "4.3.0", - "System.Runtime.Extensions": "4.3.0", - "System.Threading": "4.3.0" - }, - "runtime": { - "lib/netstandard1.3/System.Collections.NonGeneric.dll": { - "assemblyVersion": "4.0.1.0", - "fileVersion": "1.0.24212.1" - } - } - }, - "System.Collections.Specialized/4.0.1": { - "dependencies": { - "System.Collections.NonGeneric": "4.0.1", - "System.Globalization": "4.3.0", - "System.Globalization.Extensions": "4.3.0", - "System.Resources.ResourceManager": "4.3.0", - "System.Runtime": "4.3.0", - "System.Runtime.Extensions": "4.3.0", - "System.Threading": "4.3.0" - }, - "runtime": { - "lib/netstandard1.3/System.Collections.Specialized.dll": { - "assemblyVersion": "4.0.1.0", - "fileVersion": "1.0.24212.1" - } - } - }, - "System.ComponentModel/4.0.1": { - "dependencies": { - "System.Runtime": "4.3.0" - }, - "runtime": { - "lib/netstandard1.3/System.ComponentModel.dll": { - "assemblyVersion": "4.0.1.0", - "fileVersion": "1.0.24212.1" - } - } - }, - "System.ComponentModel.Primitives/4.1.0": { - "dependencies": { - "System.ComponentModel": "4.0.1", - "System.Resources.ResourceManager": "4.3.0", - "System.Runtime": "4.3.0" - }, - "runtime": { - "lib/netstandard1.0/System.ComponentModel.Primitives.dll": { - "assemblyVersion": "4.1.0.0", - "fileVersion": "1.0.24212.1" - } - } - }, - "System.ComponentModel.TypeConverter/4.1.0": { - "dependencies": { - "System.Collections": "4.3.0", - "System.Collections.NonGeneric": "4.0.1", - "System.Collections.Specialized": "4.0.1", - "System.ComponentModel": "4.0.1", - "System.ComponentModel.Primitives": "4.1.0", - "System.Globalization": "4.3.0", - "System.Linq": "4.3.0", - "System.Reflection": "4.3.0", - "System.Reflection.Extensions": "4.3.0", - "System.Reflection.Primitives": "4.3.0", - "System.Reflection.TypeExtensions": "4.1.0", - "System.Resources.ResourceManager": "4.3.0", - "System.Runtime": "4.3.0", - "System.Runtime.Extensions": "4.3.0", - "System.Threading": "4.3.0" - }, - "runtime": { - "lib/netstandard1.5/System.ComponentModel.TypeConverter.dll": { - "assemblyVersion": "4.1.0.0", - "fileVersion": "1.0.24212.1" - } - } - }, - "System.Console/4.3.0": { - "dependencies": { - "Microsoft.NETCore.Platforms": "1.1.0", - "Microsoft.NETCore.Targets": "1.1.0", - "System.IO": "4.3.0", - "System.Runtime": "4.3.0", - "System.Text.Encoding": "4.3.0" - } - }, - "System.Diagnostics.Debug/4.3.0": { - "dependencies": { - "Microsoft.NETCore.Platforms": "1.1.0", - "Microsoft.NETCore.Targets": "1.1.0", - "System.Runtime": "4.3.0" - } - }, - "System.Diagnostics.DiagnosticSource/4.3.0": { - "dependencies": { - "System.Collections": "4.3.0", - "System.Diagnostics.Tracing": "4.3.0", - "System.Reflection": "4.3.0", - "System.Runtime": "4.3.0", - "System.Threading": "4.3.0" - }, - "runtime": { - "lib/netstandard1.3/System.Diagnostics.DiagnosticSource.dll": { - "assemblyVersion": "4.0.1.0", - "fileVersion": "4.6.24705.1" - } - } - }, - "System.Diagnostics.Process/4.1.0": { - "dependencies": { - "Microsoft.NETCore.Platforms": "1.1.0", - "Microsoft.Win32.Primitives": "4.3.0", - "Microsoft.Win32.Registry": "4.0.0", - "System.Collections": "4.3.0", - "System.Diagnostics.Debug": "4.3.0", - "System.Globalization": "4.3.0", - "System.IO": "4.3.0", - "System.IO.FileSystem": "4.3.0", - "System.IO.FileSystem.Primitives": "4.3.0", - "System.Resources.ResourceManager": "4.3.0", - "System.Runtime": "4.3.0", - "System.Runtime.Extensions": "4.3.0", - "System.Runtime.Handles": "4.3.0", - "System.Runtime.InteropServices": "4.3.0", - "System.Text.Encoding": "4.3.0", - "System.Text.Encoding.Extensions": "4.3.0", - "System.Threading": "4.3.0", - "System.Threading.Tasks": "4.3.0", - "System.Threading.Thread": "4.3.0", - "System.Threading.ThreadPool": "4.3.0", - "runtime.native.System": "4.3.0" - } - }, - "System.Diagnostics.TextWriterTraceListener/4.0.0": { - "dependencies": { - "System.Diagnostics.TraceSource": "4.0.0", - "System.Globalization": "4.3.0", - "System.IO": "4.3.0", - "System.Resources.ResourceManager": "4.3.0", - "System.Runtime": "4.3.0", - "System.Threading": "4.3.0" - }, - "runtime": { - "lib/netstandard1.3/System.Diagnostics.TextWriterTraceListener.dll": { - "assemblyVersion": "4.0.0.0", - "fileVersion": "1.0.24212.1" - } - } - }, - "System.Diagnostics.Tools/4.3.0": { - "dependencies": { - "Microsoft.NETCore.Platforms": "1.1.0", - "Microsoft.NETCore.Targets": "1.1.0", - "System.Runtime": "4.3.0" - } - }, - "System.Diagnostics.TraceSource/4.0.0": { - "dependencies": { - "Microsoft.NETCore.Platforms": "1.1.0", - "System.Collections": "4.3.0", - "System.Diagnostics.Debug": "4.3.0", - "System.Globalization": "4.3.0", - "System.Resources.ResourceManager": "4.3.0", - "System.Runtime": "4.3.0", - "System.Runtime.Extensions": "4.3.0", - "System.Threading": "4.3.0", - "runtime.native.System": "4.3.0" - } - }, - "System.Diagnostics.Tracing/4.3.0": { - "dependencies": { - "Microsoft.NETCore.Platforms": "1.1.0", - "Microsoft.NETCore.Targets": "1.1.0", - "System.Runtime": "4.3.0" - } - }, - "System.Dynamic.Runtime/4.0.11": { - "dependencies": { - "System.Collections": "4.3.0", - "System.Diagnostics.Debug": "4.3.0", - "System.Globalization": "4.3.0", - "System.Linq": "4.3.0", - "System.Linq.Expressions": "4.3.0", - "System.ObjectModel": "4.3.0", - "System.Reflection": "4.3.0", - "System.Reflection.Emit": "4.0.1", - "System.Reflection.Emit.ILGeneration": "4.3.0", - "System.Reflection.Primitives": "4.3.0", - "System.Reflection.TypeExtensions": "4.1.0", - "System.Resources.ResourceManager": "4.3.0", - "System.Runtime": "4.3.0", - "System.Runtime.Extensions": "4.3.0", - "System.Threading": "4.3.0" - }, - "runtime": { - "lib/netstandard1.3/System.Dynamic.Runtime.dll": { - "assemblyVersion": "4.0.11.0", - "fileVersion": "1.0.24212.1" - } - } - }, - "System.Globalization/4.3.0": { - "dependencies": { - "Microsoft.NETCore.Platforms": "1.1.0", - "Microsoft.NETCore.Targets": "1.1.0", - "System.Runtime": "4.3.0" - } - }, - "System.Globalization.Calendars/4.3.0": { - "dependencies": { - "Microsoft.NETCore.Platforms": "1.1.0", - "Microsoft.NETCore.Targets": "1.1.0", - "System.Globalization": "4.3.0", - "System.Runtime": "4.3.0" - } - }, - "System.Globalization.Extensions/4.3.0": { - "dependencies": { - "Microsoft.NETCore.Platforms": "1.1.0", - "System.Globalization": "4.3.0", - "System.Resources.ResourceManager": "4.3.0", - "System.Runtime": "4.3.0", - "System.Runtime.Extensions": "4.3.0", - "System.Runtime.InteropServices": "4.3.0" - } - }, - "System.IO/4.3.0": { - "dependencies": { - "Microsoft.NETCore.Platforms": "1.1.0", - "Microsoft.NETCore.Targets": "1.1.0", - "System.Runtime": "4.3.0", - "System.Text.Encoding": "4.3.0", - "System.Threading.Tasks": "4.3.0" - } - }, - "System.IO.Compression/4.3.0": { - "dependencies": { - "Microsoft.NETCore.Platforms": "1.1.0", - "System.Buffers": "4.4.0", - "System.Collections": "4.3.0", - "System.Diagnostics.Debug": "4.3.0", - "System.IO": "4.3.0", - "System.Resources.ResourceManager": "4.3.0", - "System.Runtime": "4.3.0", - "System.Runtime.Extensions": "4.3.0", - "System.Runtime.Handles": "4.3.0", - "System.Runtime.InteropServices": "4.3.0", - "System.Text.Encoding": "4.3.0", - "System.Threading": "4.3.0", - "System.Threading.Tasks": "4.3.0", - "runtime.native.System": "4.3.0", - "runtime.native.System.IO.Compression": "4.3.0" - } - }, - "System.IO.Compression.ZipFile/4.3.0": { - "dependencies": { - "System.Buffers": "4.4.0", - "System.IO": "4.3.0", - "System.IO.Compression": "4.3.0", - "System.IO.FileSystem": "4.3.0", - "System.IO.FileSystem.Primitives": "4.3.0", - "System.Resources.ResourceManager": "4.3.0", - "System.Runtime": "4.3.0", - "System.Runtime.Extensions": "4.3.0", - "System.Text.Encoding": "4.3.0" - }, - "runtime": { - "lib/netstandard1.3/System.IO.Compression.ZipFile.dll": { - "assemblyVersion": "4.0.2.0", - "fileVersion": "4.6.24705.1" - } - } - }, - "System.IO.FileSystem/4.3.0": { - "dependencies": { - "Microsoft.NETCore.Platforms": "1.1.0", - "Microsoft.NETCore.Targets": "1.1.0", - "System.IO": "4.3.0", - "System.IO.FileSystem.Primitives": "4.3.0", - "System.Runtime": "4.3.0", - "System.Runtime.Handles": "4.3.0", - "System.Text.Encoding": "4.3.0", - "System.Threading.Tasks": "4.3.0" - } - }, - "System.IO.FileSystem.Primitives/4.3.0": { - "dependencies": { - "System.Runtime": "4.3.0" - }, - "runtime": { - "lib/netstandard1.3/System.IO.FileSystem.Primitives.dll": { - "assemblyVersion": "4.0.2.0", - "fileVersion": "4.6.24705.1" - } - } - }, - "System.Linq/4.3.0": { - "dependencies": { - "System.Collections": "4.3.0", - "System.Runtime": "4.3.0" - } - }, - "System.Linq.Expressions/4.3.0": { - "dependencies": { - "System.Reflection": "4.3.0", - "System.Runtime": "4.3.0" - } - }, - "System.Linq.Queryable/4.0.1": { - "dependencies": { - "System.Collections": "4.3.0", - "System.Diagnostics.Debug": "4.3.0", - "System.Linq": "4.3.0", - "System.Linq.Expressions": "4.3.0", - "System.Reflection": "4.3.0", - "System.Reflection.Extensions": "4.3.0", - "System.Resources.ResourceManager": "4.3.0", - "System.Runtime": "4.3.0" - }, - "runtime": { - "lib/netstandard1.3/System.Linq.Queryable.dll": { - "assemblyVersion": "4.0.1.0", - "fileVersion": "1.0.24212.1" - } - } - }, - "System.Net.Http/4.3.0": { - "dependencies": { - "Microsoft.NETCore.Platforms": "1.1.0", - "Microsoft.Win32.Primitives": "4.3.0", - "System.Collections": "4.3.0", - "System.Diagnostics.Debug": "4.3.0", - "System.Diagnostics.DiagnosticSource": "4.3.0", - "System.Diagnostics.Tracing": "4.3.0", - "System.Globalization": "4.3.0", - "System.IO": "4.3.0", - "System.IO.Compression": "4.3.0", - "System.Net.Primitives": "4.3.0", - "System.Resources.ResourceManager": "4.3.0", - "System.Runtime": "4.3.0", - "System.Runtime.Extensions": "4.3.0", - "System.Runtime.Handles": "4.3.0", - "System.Runtime.InteropServices": "4.3.0", - "System.Security.Cryptography.X509Certificates": "4.3.0", - "System.Text.Encoding": "4.3.0", - "System.Threading": "4.3.0", - "System.Threading.Tasks": "4.3.0" - } - }, - "System.Net.NameResolution/4.3.0": { - "dependencies": { - "Microsoft.NETCore.Platforms": "1.1.0", - "System.Collections": "4.3.0", - "System.Diagnostics.Tracing": "4.3.0", - "System.Globalization": "4.3.0", - "System.Net.Primitives": "4.3.0", - "System.Resources.ResourceManager": "4.3.0", - "System.Runtime": "4.3.0", - "System.Runtime.Extensions": "4.3.0", - "System.Runtime.Handles": "4.3.0", - "System.Runtime.InteropServices": "4.3.0", - "System.Security.Principal.Windows": "4.3.0", - "System.Threading": "4.3.0", - "System.Threading.Tasks": "4.3.0", - "runtime.native.System": "4.3.0" - } - }, - "System.Net.NetworkInformation/4.3.0": { - "dependencies": { - "Microsoft.NETCore.Platforms": "1.1.0", - "Microsoft.Win32.Primitives": "4.3.0", - "System.Collections": "4.3.0", - "System.Diagnostics.Tracing": "4.3.0", - "System.Globalization": "4.3.0", - "System.IO": "4.3.0", - "System.IO.FileSystem": "4.3.0", - "System.IO.FileSystem.Primitives": "4.3.0", - "System.Linq": "4.3.0", - "System.Net.Primitives": "4.3.0", - "System.Net.Sockets": "4.3.0", - "System.Resources.ResourceManager": "4.3.0", - "System.Runtime": "4.3.0", - "System.Runtime.Extensions": "4.3.0", - "System.Runtime.Handles": "4.3.0", - "System.Runtime.InteropServices": "4.3.0", - "System.Security.Principal.Windows": "4.3.0", - "System.Threading": "4.3.0", - "System.Threading.Overlapped": "4.3.0", - "System.Threading.Tasks": "4.3.0", - "System.Threading.Thread": "4.3.0", - "System.Threading.ThreadPool": "4.3.0", - "runtime.native.System": "4.3.0" - } - }, - "System.Net.Primitives/4.3.0": { - "dependencies": { - "Microsoft.NETCore.Platforms": "1.1.0", - "Microsoft.NETCore.Targets": "1.1.0", - "System.Runtime": "4.3.0", - "System.Runtime.Handles": "4.3.0" - } - }, - "System.Net.Security/4.3.2": { - "dependencies": { - "Microsoft.NETCore.Platforms": "1.1.0", - "Microsoft.Win32.Primitives": "4.3.0", - "System.Collections": "4.3.0", - "System.Collections.Concurrent": "4.3.0", - "System.Diagnostics.Tracing": "4.3.0", - "System.Globalization": "4.3.0", - "System.IO": "4.3.0", - "System.Net.Primitives": "4.3.0", - "System.Resources.ResourceManager": "4.3.0", - "System.Runtime": "4.3.0", - "System.Runtime.Extensions": "4.3.0", - "System.Runtime.Handles": "4.3.0", - "System.Runtime.InteropServices": "4.3.0", - "System.Security.Claims": "4.3.0", - "System.Security.Cryptography.Encoding": "4.3.0", - "System.Security.Cryptography.Primitives": "4.3.0", - "System.Security.Cryptography.X509Certificates": "4.3.0", - "System.Security.Principal": "4.3.0", - "System.Security.Principal.Windows": "4.3.0", - "System.Threading": "4.3.0", - "System.Threading.Tasks": "4.3.0", - "System.Threading.ThreadPool": "4.3.0" - } - }, - "System.Net.Sockets/4.3.0": { - "dependencies": { - "Microsoft.NETCore.Platforms": "1.1.0", - "Microsoft.NETCore.Targets": "1.1.0", - "System.IO": "4.3.0", - "System.Net.Primitives": "4.3.0", - "System.Runtime": "4.3.0", - "System.Threading.Tasks": "4.3.0" - } - }, - "System.ObjectModel/4.3.0": { - "dependencies": { - "System.Collections": "4.3.0", - "System.Diagnostics.Debug": "4.3.0", - "System.Resources.ResourceManager": "4.3.0", - "System.Runtime": "4.3.0", - "System.Threading": "4.3.0" - }, - "runtime": { - "lib/netstandard1.3/System.ObjectModel.dll": { - "assemblyVersion": "4.0.13.0", - "fileVersion": "4.6.24705.1" - } - } - }, - "System.Reflection/4.3.0": { - "dependencies": { - "Microsoft.NETCore.Platforms": "1.1.0", - "Microsoft.NETCore.Targets": "1.1.0", - "System.IO": "4.3.0", - "System.Reflection.Primitives": "4.3.0", - "System.Runtime": "4.3.0" - } - }, - "System.Reflection.Emit/4.0.1": { - "dependencies": { - "System.IO": "4.3.0", - "System.Reflection": "4.3.0", - "System.Reflection.Emit.ILGeneration": "4.3.0", - "System.Reflection.Primitives": "4.3.0", - "System.Runtime": "4.3.0" - }, - "runtime": { - "lib/netstandard1.3/System.Reflection.Emit.dll": { - "assemblyVersion": "4.0.1.0", - "fileVersion": "1.0.24212.1" - } - } - }, - "System.Reflection.Emit.ILGeneration/4.3.0": { - "dependencies": { - "System.Reflection": "4.3.0", - "System.Reflection.Primitives": "4.3.0", - "System.Runtime": "4.3.0" - }, - "runtime": { - "lib/netstandard1.3/System.Reflection.Emit.ILGeneration.dll": { - "assemblyVersion": "4.0.2.0", - "fileVersion": "4.6.24705.1" - } - } - }, - "System.Reflection.Emit.Lightweight/4.3.0": { - "dependencies": { - "System.Reflection": "4.3.0", - "System.Reflection.Emit.ILGeneration": "4.3.0", - "System.Reflection.Primitives": "4.3.0", - "System.Runtime": "4.3.0" - }, - "runtime": { - "lib/netstandard1.3/System.Reflection.Emit.Lightweight.dll": { - "assemblyVersion": "4.0.2.0", - "fileVersion": "4.6.24705.1" - } - } - }, - "System.Reflection.Extensions/4.3.0": { - "dependencies": { - "Microsoft.NETCore.Platforms": "1.1.0", - "Microsoft.NETCore.Targets": "1.1.0", - "System.Reflection": "4.3.0", - "System.Runtime": "4.3.0" - } - }, - "System.Reflection.Primitives/4.3.0": { - "dependencies": { - "Microsoft.NETCore.Platforms": "1.1.0", - "Microsoft.NETCore.Targets": "1.1.0", - "System.Runtime": "4.3.0" - } - }, - "System.Reflection.TypeExtensions/4.1.0": { - "dependencies": { - "System.Reflection": "4.3.0", - "System.Runtime": "4.3.0" - }, - "runtime": { - "lib/netstandard1.5/System.Reflection.TypeExtensions.dll": { - "assemblyVersion": "4.1.0.0", - "fileVersion": "1.0.24212.1" - } - } - }, - "System.Resources.ResourceManager/4.3.0": { - "dependencies": { - "Microsoft.NETCore.Platforms": "1.1.0", - "Microsoft.NETCore.Targets": "1.1.0", - "System.Globalization": "4.3.0", - "System.Reflection": "4.3.0", - "System.Runtime": "4.3.0" - } - }, - "System.Runtime/4.3.0": { - "dependencies": { - "Microsoft.NETCore.Platforms": "1.1.0", - "Microsoft.NETCore.Targets": "1.1.0" - } - }, - "System.Runtime.Extensions/4.3.0": { - "dependencies": { - "Microsoft.NETCore.Platforms": "1.1.0", - "Microsoft.NETCore.Targets": "1.1.0", - "System.Runtime": "4.3.0" - } - }, - "System.Runtime.Handles/4.3.0": { - "dependencies": { - "Microsoft.NETCore.Platforms": "1.1.0", - "Microsoft.NETCore.Targets": "1.1.0", - "System.Runtime": "4.3.0" - } - }, - "System.Runtime.InteropServices/4.3.0": { - "dependencies": { - "Microsoft.NETCore.Platforms": "1.1.0", - "Microsoft.NETCore.Targets": "1.1.0", - "System.Reflection": "4.3.0", - "System.Reflection.Primitives": "4.3.0", - "System.Runtime": "4.3.0", - "System.Runtime.Handles": "4.3.0" - } - }, - "System.Runtime.InteropServices.RuntimeInformation/4.3.0": { - "dependencies": { - "System.Reflection": "4.3.0", - "System.Reflection.Extensions": "4.3.0", - "System.Resources.ResourceManager": "4.3.0", - "System.Runtime": "4.3.0", - "System.Runtime.InteropServices": "4.3.0", - "System.Threading": "4.3.0", - "runtime.native.System": "4.3.0" - }, - "runtime": { - "lib/netstandard1.1/System.Runtime.InteropServices.RuntimeInformation.dll": { - "assemblyVersion": "4.0.1.0", - "fileVersion": "4.6.24705.1" - } - } - }, - "System.Runtime.Numerics/4.3.0": { - "dependencies": { - "System.Globalization": "4.3.0", - "System.Resources.ResourceManager": "4.3.0", - "System.Runtime": "4.3.0", - "System.Runtime.Extensions": "4.3.0" - }, - "runtime": { - "lib/netstandard1.3/System.Runtime.Numerics.dll": { - "assemblyVersion": "4.0.2.0", - "fileVersion": "4.6.24705.1" - } - } - }, - "System.Runtime.Serialization.Formatters/4.3.0": { - "dependencies": { - "System.Collections": "4.3.0", - "System.Reflection": "4.3.0", - "System.Resources.ResourceManager": "4.3.0", - "System.Runtime": "4.3.0", - "System.Runtime.Serialization.Primitives": "4.3.0" - }, - "runtime": { - "lib/netstandard1.4/System.Runtime.Serialization.Formatters.dll": { - "assemblyVersion": "4.0.1.0", - "fileVersion": "4.6.24705.1" - } - } - }, - "System.Runtime.Serialization.Primitives/4.3.0": { - "dependencies": { - "System.Resources.ResourceManager": "4.3.0", - "System.Runtime": "4.3.0" - }, - "runtime": { - "lib/netstandard1.3/System.Runtime.Serialization.Primitives.dll": { - "assemblyVersion": "4.1.2.0", - "fileVersion": "4.6.24705.1" - } - } - }, - "System.Security.Claims/4.3.0": { - "dependencies": { - "System.Collections": "4.3.0", - "System.Globalization": "4.3.0", - "System.IO": "4.3.0", - "System.Resources.ResourceManager": "4.3.0", - "System.Runtime": "4.3.0", - "System.Runtime.Extensions": "4.3.0", - "System.Security.Principal": "4.3.0" - }, - "runtime": { - "lib/netstandard1.3/System.Security.Claims.dll": { - "assemblyVersion": "4.0.2.0", - "fileVersion": "4.6.24705.1" - } - } - }, - "System.Security.Cryptography.Algorithms/4.3.0": { - "dependencies": { - "System.IO": "4.3.0", - "System.Runtime": "4.3.0", - "System.Security.Cryptography.Primitives": "4.3.0" - } - }, - "System.Security.Cryptography.Encoding/4.3.0": { - "dependencies": { - "Microsoft.NETCore.Platforms": "1.1.0", - "System.Collections": "4.3.0", - "System.Collections.Concurrent": "4.3.0", - "System.Linq": "4.3.0", - "System.Resources.ResourceManager": "4.3.0", - "System.Runtime": "4.3.0", - "System.Runtime.Extensions": "4.3.0", - "System.Runtime.Handles": "4.3.0", - "System.Runtime.InteropServices": "4.3.0", - "System.Security.Cryptography.Primitives": "4.3.0", - "System.Text.Encoding": "4.3.0", - "runtime.native.System.Security.Cryptography.OpenSsl": "4.3.0" - } - }, - "System.Security.Cryptography.Primitives/4.3.0": { - "dependencies": { - "System.Diagnostics.Debug": "4.3.0", - "System.Globalization": "4.3.0", - "System.IO": "4.3.0", - "System.Resources.ResourceManager": "4.3.0", - "System.Runtime": "4.3.0", - "System.Threading": "4.3.0", - "System.Threading.Tasks": "4.3.0" - }, - "runtime": { - "lib/netstandard1.3/System.Security.Cryptography.Primitives.dll": { - "assemblyVersion": "4.0.1.0", - "fileVersion": "4.6.24705.1" - } - } - }, - "System.Security.Cryptography.X509Certificates/4.3.0": { - "dependencies": { - "System.Runtime": "4.3.0", - "System.Runtime.Handles": "4.3.0", - "System.Security.Cryptography.Algorithms": "4.3.0", - "System.Security.Cryptography.Encoding": "4.3.0" - } - }, - "System.Security.Principal/4.3.0": { - "dependencies": { - "System.Runtime": "4.3.0" - }, - "runtime": { - "lib/netstandard1.0/System.Security.Principal.dll": { - "assemblyVersion": "4.0.2.0", - "fileVersion": "4.6.24705.1" - } - } - }, - "System.Security.Principal.Windows/4.3.0": { - "dependencies": { - "Microsoft.NETCore.Platforms": "1.1.0", - "Microsoft.Win32.Primitives": "4.3.0", - "System.Collections": "4.3.0", - "System.Diagnostics.Debug": "4.3.0", - "System.Reflection": "4.3.0", - "System.Resources.ResourceManager": "4.3.0", - "System.Runtime": "4.3.0", - "System.Runtime.Extensions": "4.3.0", - "System.Runtime.Handles": "4.3.0", - "System.Runtime.InteropServices": "4.3.0", - "System.Security.Claims": "4.3.0", - "System.Security.Principal": "4.3.0", - "System.Text.Encoding": "4.3.0", - "System.Threading": "4.3.0" - } - }, - "System.Security.SecureString/4.0.0": { - "dependencies": { - "Microsoft.NETCore.Platforms": "1.1.0", - "System.Resources.ResourceManager": "4.3.0", - "System.Runtime": "4.3.0", - "System.Runtime.Handles": "4.3.0", - "System.Runtime.InteropServices": "4.3.0", - "System.Security.Cryptography.Primitives": "4.3.0", - "System.Text.Encoding": "4.3.0", - "System.Threading": "4.3.0" - } - }, - "System.Text.Encoding/4.3.0": { - "dependencies": { - "Microsoft.NETCore.Platforms": "1.1.0", - "Microsoft.NETCore.Targets": "1.1.0", - "System.Runtime": "4.3.0" - } - }, - "System.Text.Encoding.CodePages/4.5.1": { - "dependencies": { - "NETStandard.Library": "1.6.1" - }, - "runtime": { - "lib/netstandard1.3/System.Text.Encoding.CodePages.dll": { - "assemblyVersion": "4.0.2.0", - "fileVersion": "4.6.24705.1" - } - } - }, - "System.Text.Encoding.Extensions/4.3.0": { - "dependencies": { - "Microsoft.NETCore.Platforms": "1.1.0", - "Microsoft.NETCore.Targets": "1.1.0", - "System.Runtime": "4.3.0", - "System.Text.Encoding": "4.3.0" - } - }, - "System.Text.RegularExpressions/4.3.0": { - "dependencies": { - "System.Runtime": "4.3.0" - } - }, - "System.Threading/4.3.0": { - "dependencies": { - "System.Runtime": "4.3.0", - "System.Threading.Tasks": "4.3.0" - }, - "runtime": { - "lib/netstandard1.3/System.Threading.dll": { - "assemblyVersion": "4.0.12.0", - "fileVersion": "4.6.24705.1" - } - } - }, - "System.Threading.Overlapped/4.3.0": { - "dependencies": { - "Microsoft.NETCore.Platforms": "1.1.0", - "System.Resources.ResourceManager": "4.3.0", - "System.Runtime": "4.3.0", - "System.Runtime.Handles": "4.3.0" - } - }, - "System.Threading.Tasks/4.3.0": { - "dependencies": { - "Microsoft.NETCore.Platforms": "1.1.0", - "Microsoft.NETCore.Targets": "1.1.0", - "System.Runtime": "4.3.0" - } - }, - "System.Threading.Tasks.Extensions/4.3.0": { - "dependencies": { - "System.Collections": "4.3.0", - "System.Runtime": "4.3.0", - "System.Threading.Tasks": "4.3.0" - }, - "runtime": { - "lib/netstandard1.0/System.Threading.Tasks.Extensions.dll": { - "assemblyVersion": "4.1.0.0", - "fileVersion": "4.6.24705.1" - } - } - }, - "System.Threading.Thread/4.3.0": { - "dependencies": { - "System.Runtime": "4.3.0" - }, - "runtime": { - "lib/netstandard1.3/System.Threading.Thread.dll": { - "assemblyVersion": "4.0.1.0", - "fileVersion": "4.6.24705.1" - } - } - }, - "System.Threading.ThreadPool/4.3.0": { - "dependencies": { - "System.Runtime": "4.3.0", - "System.Runtime.Handles": "4.3.0" - }, - "runtime": { - "lib/netstandard1.3/System.Threading.ThreadPool.dll": { - "assemblyVersion": "4.0.11.0", - "fileVersion": "4.6.24705.1" - } - } - }, - "System.Threading.Timer/4.3.0": { - "dependencies": { - "Microsoft.NETCore.Platforms": "1.1.0", - "Microsoft.NETCore.Targets": "1.1.0", - "System.Runtime": "4.3.0" - } - }, - "System.Xml.ReaderWriter/4.3.0": { - "dependencies": { - "System.Collections": "4.3.0", - "System.Diagnostics.Debug": "4.3.0", - "System.Globalization": "4.3.0", - "System.IO": "4.3.0", - "System.IO.FileSystem": "4.3.0", - "System.IO.FileSystem.Primitives": "4.3.0", - "System.Resources.ResourceManager": "4.3.0", - "System.Runtime": "4.3.0", - "System.Runtime.Extensions": "4.3.0", - "System.Runtime.InteropServices": "4.3.0", - "System.Text.Encoding": "4.3.0", - "System.Text.Encoding.Extensions": "4.3.0", - "System.Text.RegularExpressions": "4.3.0", - "System.Threading.Tasks": "4.3.0", - "System.Threading.Tasks.Extensions": "4.3.0" - }, - "runtime": { - "lib/netstandard1.3/System.Xml.ReaderWriter.dll": { - "assemblyVersion": "4.1.0.0", - "fileVersion": "4.6.24705.1" - } - } - }, - "System.Xml.XDocument/4.3.0": { - "dependencies": { - "System.Collections": "4.3.0", - "System.Diagnostics.Debug": "4.3.0", - "System.Diagnostics.Tools": "4.3.0", - "System.Globalization": "4.3.0", - "System.IO": "4.3.0", - "System.Reflection": "4.3.0", - "System.Resources.ResourceManager": "4.3.0", - "System.Runtime": "4.3.0", - "System.Runtime.Extensions": "4.3.0", - "System.Text.Encoding": "4.3.0", - "System.Threading": "4.3.0", - "System.Xml.ReaderWriter": "4.3.0" - }, - "runtime": { - "lib/netstandard1.3/System.Xml.XDocument.dll": { - "assemblyVersion": "4.0.12.0", - "fileVersion": "4.6.24705.1" - } - } - } - } - }, - "libraries": { - "MongoDbGenericRepository/1.0.0": { - "type": "project", - "serviceable": false, - "sha512": "" - }, - "DnsClient/1.2.0": { - "type": "package", - "serviceable": true, - "sha512": "sha512-P34wUkeqU4FoQiOMV8OjpdeDZKs4d3r+VlHuKJ6eO5feiZgna3+9MF5orHRUn3DAv1g/HPE5hlkGucmxmsFfBw==", - "path": "dnsclient/1.2.0", - "hashPath": "dnsclient.1.2.0.nupkg.sha512" - }, - "Microsoft.NETCore.Platforms/1.1.0": { - "type": "package", - "serviceable": true, - "sha512": "sha512-kz0PEW2lhqygehI/d6XsPCQzD7ff7gUJaVGPVETX611eadGsA3A877GdSlU0LRVMCTH/+P3o2iDTak+S08V2+A==", - "path": "microsoft.netcore.platforms/1.1.0", - "hashPath": "microsoft.netcore.platforms.1.1.0.nupkg.sha512" - }, - "Microsoft.NETCore.Targets/1.1.0": { - "type": "package", - "serviceable": true, - "sha512": "sha512-aOZA3BWfz9RXjpzt0sRJJMjAscAUm3Hoa4UWAfceV9UTYxgwZ1lZt5nO2myFf+/jetYQo4uTP7zS8sJY67BBxg==", - "path": "microsoft.netcore.targets/1.1.0", - "hashPath": "microsoft.netcore.targets.1.1.0.nupkg.sha512" - }, - "Microsoft.Win32.Primitives/4.3.0": { - "type": "package", - "serviceable": true, - "sha512": "sha512-9ZQKCWxH7Ijp9BfahvL2Zyf1cJIk8XYLF6Yjzr2yi0b2cOut/HQ31qf1ThHAgCc3WiZMdnWcfJCgN82/0UunxA==", - "path": "microsoft.win32.primitives/4.3.0", - "hashPath": "microsoft.win32.primitives.4.3.0.nupkg.sha512" - }, - "Microsoft.Win32.Registry/4.0.0": { - "type": "package", - "serviceable": true, - "sha512": "sha512-UiSp7lTxGtsF6J96wwErFeM0jygj/bWWKvbqwtRP2t6OohgT7TCTpjvQ1+7DLQLH3DR70i6+eRGX/y85WFuz1Q==", - "path": "microsoft.win32.registry/4.0.0", - "hashPath": "microsoft.win32.registry.4.0.0.nupkg.sha512" - }, - "MongoDB.Bson/2.9.3": { - "type": "package", - "serviceable": true, - "sha512": "sha512-iuLdgI/8Q3AnboPR0OTFDpqVAxTskW9IQLhxKt+O4IQ3s9hHVLLp1dGLChrwrcK+3Fa2MFNHvm6W8tEMV4VUmw==", - "path": "mongodb.bson/2.9.3", - "hashPath": "mongodb.bson.2.9.3.nupkg.sha512" - }, - "MongoDB.Driver/2.9.3": { - "type": "package", - "serviceable": true, - "sha512": "sha512-nSHXATq6u9CSwfO/xCQSZe6JgJeVmLng0v6fwc6WFTYVnssAZjIaj1BiNu3XshHP+vYCzYZUmbPtRHltaXQiuw==", - "path": "mongodb.driver/2.9.3", - "hashPath": "mongodb.driver.2.9.3.nupkg.sha512" - }, - "MongoDB.Driver.Core/2.9.3": { - "type": "package", - "serviceable": true, - "sha512": "sha512-j95XZhXTukZHUnZmEFEJPERscccfa42iLPbPBlwRJMK5XEZ9myCcxnWACvJwYXrU6RoRwUzYCFYoSHj6lHfgmA==", - "path": "mongodb.driver.core/2.9.3", - "hashPath": "mongodb.driver.core.2.9.3.nupkg.sha512" - }, - "NETStandard.Library/1.6.1": { - "type": "package", - "serviceable": true, - "sha512": "sha512-WcSp3+vP+yHNgS8EV5J7pZ9IRpeDuARBPN28by8zqff1wJQXm26PVU8L3/fYLBJVU7BtDyqNVWq2KlCVvSSR4A==", - "path": "netstandard.library/1.6.1", - "hashPath": "netstandard.library.1.6.1.nupkg.sha512" - }, - "runtime.debian.8-x64.runtime.native.System.Security.Cryptography.OpenSsl/4.3.0": { - "type": "package", - "serviceable": true, - "sha512": "sha512-HdSSp5MnJSsg08KMfZThpuLPJpPwE5hBXvHwoKWosyHHfe8Mh5WKT0ylEOf6yNzX6Ngjxe4Whkafh5q7Ymac4Q==", - "path": "runtime.debian.8-x64.runtime.native.system.security.cryptography.openssl/4.3.0", - "hashPath": "runtime.debian.8-x64.runtime.native.system.security.cryptography.openssl.4.3.0.nupkg.sha512" - }, - "runtime.fedora.23-x64.runtime.native.System.Security.Cryptography.OpenSsl/4.3.0": { - "type": "package", - "serviceable": true, - "sha512": "sha512-+yH1a49wJMy8Zt4yx5RhJrxO/DBDByAiCzNwiETI+1S4mPdCu0OY4djdciC7Vssk0l22wQaDLrXxXkp+3+7bVA==", - "path": "runtime.fedora.23-x64.runtime.native.system.security.cryptography.openssl/4.3.0", - "hashPath": "runtime.fedora.23-x64.runtime.native.system.security.cryptography.openssl.4.3.0.nupkg.sha512" - }, - "runtime.fedora.24-x64.runtime.native.System.Security.Cryptography.OpenSsl/4.3.0": { - "type": "package", - "serviceable": true, - "sha512": "sha512-c3YNH1GQJbfIPJeCnr4avseugSqPrxwIqzthYyZDN6EuOyNOzq+y2KSUfRcXauya1sF4foESTgwM5e1A8arAKw==", - "path": "runtime.fedora.24-x64.runtime.native.system.security.cryptography.openssl/4.3.0", - "hashPath": "runtime.fedora.24-x64.runtime.native.system.security.cryptography.openssl.4.3.0.nupkg.sha512" - }, - "runtime.native.System/4.3.0": { - "type": "package", - "serviceable": true, - "sha512": "sha512-c/qWt2LieNZIj1jGnVNsE2Kl23Ya2aSTBuXMD6V7k9KWr6l16Tqdwq+hJScEpWER9753NWC8h96PaVNY5Ld7Jw==", - "path": "runtime.native.system/4.3.0", - "hashPath": "runtime.native.system.4.3.0.nupkg.sha512" - }, - "runtime.native.System.IO.Compression/4.3.0": { - "type": "package", - "serviceable": true, - "sha512": "sha512-INBPonS5QPEgn7naufQFXJEp3zX6L4bwHgJ/ZH78aBTpeNfQMtf7C6VrAFhlq2xxWBveIOWyFzQjJ8XzHMhdOQ==", - "path": "runtime.native.system.io.compression/4.3.0", - "hashPath": "runtime.native.system.io.compression.4.3.0.nupkg.sha512" - }, - "runtime.native.System.Security.Cryptography.OpenSsl/4.3.0": { - "type": "package", - "serviceable": true, - "sha512": "sha512-NS1U+700m4KFRHR5o4vo9DSlTmlCKu/u7dtE5sUHVIPB+xpXxYQvgBgA6wEIeCz6Yfn0Z52/72WYsToCEPJnrw==", - "path": "runtime.native.system.security.cryptography.openssl/4.3.0", - "hashPath": "runtime.native.system.security.cryptography.openssl.4.3.0.nupkg.sha512" - }, - "runtime.opensuse.13.2-x64.runtime.native.System.Security.Cryptography.OpenSsl/4.3.0": { - "type": "package", - "serviceable": true, - "sha512": "sha512-b3pthNgxxFcD+Pc0WSEoC0+md3MyhRS6aCEeenvNE3Fdw1HyJ18ZhRFVJJzIeR/O/jpxPboB805Ho0T3Ul7w8A==", - "path": "runtime.opensuse.13.2-x64.runtime.native.system.security.cryptography.openssl/4.3.0", - "hashPath": "runtime.opensuse.13.2-x64.runtime.native.system.security.cryptography.openssl.4.3.0.nupkg.sha512" - }, - "runtime.opensuse.42.1-x64.runtime.native.System.Security.Cryptography.OpenSsl/4.3.0": { - "type": "package", - "serviceable": true, - "sha512": "sha512-KeLz4HClKf+nFS7p/6Fi/CqyLXh81FpiGzcmuS8DGi9lUqSnZ6Es23/gv2O+1XVGfrbNmviF7CckBpavkBoIFQ==", - "path": "runtime.opensuse.42.1-x64.runtime.native.system.security.cryptography.openssl/4.3.0", - "hashPath": "runtime.opensuse.42.1-x64.runtime.native.system.security.cryptography.openssl.4.3.0.nupkg.sha512" - }, - "runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.OpenSsl/4.3.0": { - "type": "package", - "serviceable": true, - "sha512": "sha512-X7IdhILzr4ROXd8mI1BUCQMSHSQwelUlBjF1JyTKCjXaOGn2fB4EKBxQbCK2VjO3WaWIdlXZL3W6TiIVnrhX4g==", - "path": "runtime.osx.10.10-x64.runtime.native.system.security.cryptography.openssl/4.3.0", - "hashPath": "runtime.osx.10.10-x64.runtime.native.system.security.cryptography.openssl.4.3.0.nupkg.sha512" - }, - "runtime.rhel.7-x64.runtime.native.System.Security.Cryptography.OpenSsl/4.3.0": { - "type": "package", - "serviceable": true, - "sha512": "sha512-nyFNiCk/r+VOiIqreLix8yN+q3Wga9+SE8BCgkf+2BwEKiNx6DyvFjCgkfV743/grxv8jHJ8gUK4XEQw7yzRYg==", - "path": "runtime.rhel.7-x64.runtime.native.system.security.cryptography.openssl/4.3.0", - "hashPath": "runtime.rhel.7-x64.runtime.native.system.security.cryptography.openssl.4.3.0.nupkg.sha512" - }, - "runtime.ubuntu.14.04-x64.runtime.native.System.Security.Cryptography.OpenSsl/4.3.0": { - "type": "package", - "serviceable": true, - "sha512": "sha512-ytoewC6wGorL7KoCAvRfsgoJPJbNq+64k2SqW6JcOAebWsFUvCCYgfzQMrnpvPiEl4OrblUlhF2ji+Q1+SVLrQ==", - "path": "runtime.ubuntu.14.04-x64.runtime.native.system.security.cryptography.openssl/4.3.0", - "hashPath": "runtime.ubuntu.14.04-x64.runtime.native.system.security.cryptography.openssl.4.3.0.nupkg.sha512" - }, - "runtime.ubuntu.16.04-x64.runtime.native.System.Security.Cryptography.OpenSsl/4.3.0": { - "type": "package", - "serviceable": true, - "sha512": "sha512-I8bKw2I8k58Wx7fMKQJn2R8lamboCAiHfHeV/pS65ScKWMMI0+wJkLYlEKvgW1D/XvSl/221clBoR2q9QNNM7A==", - "path": "runtime.ubuntu.16.04-x64.runtime.native.system.security.cryptography.openssl/4.3.0", - "hashPath": "runtime.ubuntu.16.04-x64.runtime.native.system.security.cryptography.openssl.4.3.0.nupkg.sha512" - }, - "runtime.ubuntu.16.10-x64.runtime.native.System.Security.Cryptography.OpenSsl/4.3.0": { - "type": "package", - "serviceable": true, - "sha512": "sha512-VB5cn/7OzUfzdnC8tqAIMQciVLiq2epm2NrAm1E9OjNRyG4lVhfR61SMcLizejzQP8R8Uf/0l5qOIbUEi+RdEg==", - "path": "runtime.ubuntu.16.10-x64.runtime.native.system.security.cryptography.openssl/4.3.0", - "hashPath": "runtime.ubuntu.16.10-x64.runtime.native.system.security.cryptography.openssl.4.3.0.nupkg.sha512" - }, - "SharpCompress/0.23.0": { - "type": "package", - "serviceable": true, - "sha512": "sha512-HBbT47JHvNrsZX2dTBzUBOSzBt+EmIRGLIBkbxcP6Jef7DB4eFWQX5iHWV3Nj7hABFPCjISrZ8s0z72nF2zFHQ==", - "path": "sharpcompress/0.23.0", - "hashPath": "sharpcompress.0.23.0.nupkg.sha512" - }, - "System.AppContext/4.3.0": { - "type": "package", - "serviceable": true, - "sha512": "sha512-fKC+rmaLfeIzUhagxY17Q9siv/sPrjjKcfNg1Ic8IlQkZLipo8ljcaZQu4VtI4Jqbzjc2VTjzGLF6WmsRXAEgA==", - "path": "system.appcontext/4.3.0", - "hashPath": "system.appcontext.4.3.0.nupkg.sha512" - }, - "System.Buffers/4.4.0": { - "type": "package", - "serviceable": true, - "sha512": "sha512-Ii2bedd4HVzddupdU35n3ygohUPlNn7MDimBOYcwWNce2NizQ1fCSaQJY1Tzv80aMqOGpVcU4wZr/Xe50xcTwg==", - "path": "system.buffers/4.4.0", - "hashPath": "system.buffers.4.4.0.nupkg.sha512" - }, - "System.Collections/4.3.0": { - "type": "package", - "serviceable": true, - "sha512": "sha512-3Dcj85/TBdVpL5Zr+gEEBUuFe2icOnLalmEh9hfck1PTYbbyWuZgh4fmm2ysCLTrqLQw6t3TgTyJ+VLp+Qb+Lw==", - "path": "system.collections/4.3.0", - "hashPath": "system.collections.4.3.0.nupkg.sha512" - }, - "System.Collections.Concurrent/4.3.0": { - "type": "package", - "serviceable": true, - "sha512": "sha512-ztl69Xp0Y/UXCL+3v3tEU+lIy+bvjKNUmopn1wep/a291pVPK7dxBd6T7WnlQqRog+d1a/hSsgRsmFnIBKTPLQ==", - "path": "system.collections.concurrent/4.3.0", - "hashPath": "system.collections.concurrent.4.3.0.nupkg.sha512" - }, - "System.Collections.NonGeneric/4.0.1": { - "type": "package", - "serviceable": true, - "sha512": "sha512-hMxFT2RhhlffyCdKLDXjx8WEC5JfCvNozAZxCablAuFRH74SCV4AgzE8yJCh/73bFnEoZgJ9MJmkjQ0dJmnKqA==", - "path": "system.collections.nongeneric/4.0.1", - "hashPath": "system.collections.nongeneric.4.0.1.nupkg.sha512" - }, - "System.Collections.Specialized/4.0.1": { - "type": "package", - "serviceable": true, - "sha512": "sha512-/HKQyVP0yH1I0YtK7KJL/28snxHNH/bi+0lgk/+MbURF6ULhAE31MDI+NZDerNWu264YbxklXCCygISgm+HMug==", - "path": "system.collections.specialized/4.0.1", - "hashPath": "system.collections.specialized.4.0.1.nupkg.sha512" - }, - "System.ComponentModel/4.0.1": { - "type": "package", - "serviceable": true, - "sha512": "sha512-oBZFnm7seFiVfugsIyOvQCWobNZs7FzqDV/B7tx20Ep/l3UUFCPDkdTnCNaJZTU27zjeODmy2C/cP60u3D4c9w==", - "path": "system.componentmodel/4.0.1", - "hashPath": "system.componentmodel.4.0.1.nupkg.sha512" - }, - "System.ComponentModel.Primitives/4.1.0": { - "type": "package", - "serviceable": true, - "sha512": "sha512-mAaj8PXxM7hUSIJYm9chhSe90HaIVyl8vb4JJO0M7fRaeBqSaaveHdRAmOL0LcOxp7kf9Vb8HujCe02DUqG5HQ==", - "path": "system.componentmodel.primitives/4.1.0", - "hashPath": "system.componentmodel.primitives.4.1.0.nupkg.sha512" - }, - "System.ComponentModel.TypeConverter/4.1.0": { - "type": "package", - "serviceable": true, - "sha512": "sha512-jcj79VC96yxc/rgLB59+g4675iVts1XrfC97dniMEvmJhRl8cG7qRO3EsJQwNw8cFL6RenFxn/CGfUhgj32SdQ==", - "path": "system.componentmodel.typeconverter/4.1.0", - "hashPath": "system.componentmodel.typeconverter.4.1.0.nupkg.sha512" - }, - "System.Console/4.3.0": { - "type": "package", - "serviceable": true, - "sha512": "sha512-DHDrIxiqk1h03m6khKWV2X8p/uvN79rgSqpilL6uzpmSfxfU5ng8VcPtW4qsDsQDHiTv6IPV9TmD5M/vElPNLg==", - "path": "system.console/4.3.0", - "hashPath": "system.console.4.3.0.nupkg.sha512" - }, - "System.Diagnostics.Debug/4.3.0": { - "type": "package", - "serviceable": true, - "sha512": "sha512-ZUhUOdqmaG5Jk3Xdb8xi5kIyQYAA4PnTNlHx1mu9ZY3qv4ELIdKbnL/akbGaKi2RnNUWaZsAs31rvzFdewTj2g==", - "path": "system.diagnostics.debug/4.3.0", - "hashPath": "system.diagnostics.debug.4.3.0.nupkg.sha512" - }, - "System.Diagnostics.DiagnosticSource/4.3.0": { - "type": "package", - "serviceable": true, - "sha512": "sha512-tD6kosZnTAGdrEa0tZSuFyunMbt/5KYDnHdndJYGqZoNy00XVXyACd5d6KnE1YgYv3ne2CjtAfNXo/fwEhnKUA==", - "path": "system.diagnostics.diagnosticsource/4.3.0", - "hashPath": "system.diagnostics.diagnosticsource.4.3.0.nupkg.sha512" - }, - "System.Diagnostics.Process/4.1.0": { - "type": "package", - "serviceable": true, - "sha512": "sha512-S2YC+MwpWZ6e7h2lqNce/ubMjD4vf2Ea/uOEncYNH1/fFXaXlKDM9ig/zCE1rR+wwYzE8FXtvj+1Nymh6oZ9bg==", - "path": "system.diagnostics.process/4.1.0", - "hashPath": "system.diagnostics.process.4.1.0.nupkg.sha512" - }, - "System.Diagnostics.TextWriterTraceListener/4.0.0": { - "type": "package", - "serviceable": true, - "sha512": "sha512-oRsXCz76GDDMrwjMjH6keR9erFIofhGaIMc2d4NykI4rdBEuUP5ZswYA30LGPdyCK7DV4bMBEJL3nJFyAJoS/g==", - "path": "system.diagnostics.textwritertracelistener/4.0.0", - "hashPath": "system.diagnostics.textwritertracelistener.4.0.0.nupkg.sha512" - }, - "System.Diagnostics.Tools/4.3.0": { - "type": "package", - "serviceable": true, - "sha512": "sha512-UUvkJfSYJMM6x527dJg2VyWPSRqIVB0Z7dbjHst1zmwTXz5CcXSYJFWRpuigfbO1Lf7yfZiIaEUesfnl/g5EyA==", - "path": "system.diagnostics.tools/4.3.0", - "hashPath": "system.diagnostics.tools.4.3.0.nupkg.sha512" - }, - "System.Diagnostics.TraceSource/4.0.0": { - "type": "package", - "serviceable": true, - "sha512": "sha512-q5bGzzvXVi+dIMiPWRhXZV7r+Os3TEOuRW5LHsAUDGpqJHol8XiLokVpsgAfPqHHNkyx1bbv5lRZqRkRrGZKxQ==", - "path": "system.diagnostics.tracesource/4.0.0", - "hashPath": "system.diagnostics.tracesource.4.0.0.nupkg.sha512" - }, - "System.Diagnostics.Tracing/4.3.0": { - "type": "package", - "serviceable": true, - "sha512": "sha512-rswfv0f/Cqkh78rA5S8eN8Neocz234+emGCtTF3lxPY96F+mmmUen6tbn0glN6PMvlKQb9bPAY5e9u7fgPTkKw==", - "path": "system.diagnostics.tracing/4.3.0", - "hashPath": "system.diagnostics.tracing.4.3.0.nupkg.sha512" - }, - "System.Dynamic.Runtime/4.0.11": { - "type": "package", - "serviceable": true, - "sha512": "sha512-db34f6LHYM0U0JpE+sOmjar27BnqTVkbLJhgfwMpTdgTigG/Hna3m2MYVwnFzGGKnEJk2UXFuoVTr8WUbU91/A==", - "path": "system.dynamic.runtime/4.0.11", - "hashPath": "system.dynamic.runtime.4.0.11.nupkg.sha512" - }, - "System.Globalization/4.3.0": { - "type": "package", - "serviceable": true, - "sha512": "sha512-kYdVd2f2PAdFGblzFswE4hkNANJBKRmsfa2X5LG2AcWE1c7/4t0pYae1L8vfZ5xvE2nK/R9JprtToA61OSHWIg==", - "path": "system.globalization/4.3.0", - "hashPath": "system.globalization.4.3.0.nupkg.sha512" - }, - "System.Globalization.Calendars/4.3.0": { - "type": "package", - "serviceable": true, - "sha512": "sha512-GUlBtdOWT4LTV3I+9/PJW+56AnnChTaOqqTLFtdmype/L500M2LIyXgmtd9X2P2VOkmJd5c67H5SaC2QcL1bFA==", - "path": "system.globalization.calendars/4.3.0", - "hashPath": "system.globalization.calendars.4.3.0.nupkg.sha512" - }, - "System.Globalization.Extensions/4.3.0": { - "type": "package", - "serviceable": true, - "sha512": "sha512-FhKmdR6MPG+pxow6wGtNAWdZh7noIOpdD5TwQ3CprzgIE1bBBoim0vbR1+AWsWjQmU7zXHgQo4TWSP6lCeiWcQ==", - "path": "system.globalization.extensions/4.3.0", - "hashPath": "system.globalization.extensions.4.3.0.nupkg.sha512" - }, - "System.IO/4.3.0": { - "type": "package", - "serviceable": true, - "sha512": "sha512-3qjaHvxQPDpSOYICjUoTsmoq5u6QJAFRUITgeT/4gqkF1bajbSmb1kwSxEA8AHlofqgcKJcM8udgieRNhaJ5Cg==", - "path": "system.io/4.3.0", - "hashPath": "system.io.4.3.0.nupkg.sha512" - }, - "System.IO.Compression/4.3.0": { - "type": "package", - "serviceable": true, - "sha512": "sha512-YHndyoiV90iu4iKG115ibkhrG+S3jBm8Ap9OwoUAzO5oPDAWcr0SFwQFm0HjM8WkEZWo0zvLTyLmbvTkW1bXgg==", - "path": "system.io.compression/4.3.0", - "hashPath": "system.io.compression.4.3.0.nupkg.sha512" - }, - "System.IO.Compression.ZipFile/4.3.0": { - "type": "package", - "serviceable": true, - "sha512": "sha512-G4HwjEsgIwy3JFBduZ9quBkAu+eUwjIdJleuNSgmUojbH6O3mlvEIme+GHx/cLlTAPcrnnL7GqvB9pTlWRfhOg==", - "path": "system.io.compression.zipfile/4.3.0", - "hashPath": "system.io.compression.zipfile.4.3.0.nupkg.sha512" - }, - "System.IO.FileSystem/4.3.0": { - "type": "package", - "serviceable": true, - "sha512": "sha512-3wEMARTnuio+ulnvi+hkRNROYwa1kylvYahhcLk4HSoVdl+xxTFVeVlYOfLwrDPImGls0mDqbMhrza8qnWPTdA==", - "path": "system.io.filesystem/4.3.0", - "hashPath": "system.io.filesystem.4.3.0.nupkg.sha512" - }, - "System.IO.FileSystem.Primitives/4.3.0": { - "type": "package", - "serviceable": true, - "sha512": "sha512-6QOb2XFLch7bEc4lIcJH49nJN2HV+OC3fHDgsLVsBVBk3Y4hFAnOBGzJ2lUu7CyDDFo9IBWkSsnbkT6IBwwiMw==", - "path": "system.io.filesystem.primitives/4.3.0", - "hashPath": "system.io.filesystem.primitives.4.3.0.nupkg.sha512" - }, - "System.Linq/4.3.0": { - "type": "package", - "serviceable": true, - "sha512": "sha512-5DbqIUpsDp0dFftytzuMmc0oeMdQwjcP/EWxsksIz/w1TcFRkZ3yKKz0PqiYFMmEwPSWw+qNVqD7PJ889JzHbw==", - "path": "system.linq/4.3.0", - "hashPath": "system.linq.4.3.0.nupkg.sha512" - }, - "System.Linq.Expressions/4.3.0": { - "type": "package", - "serviceable": true, - "sha512": "sha512-PGKkrd2khG4CnlyJwxwwaWWiSiWFNBGlgXvJpeO0xCXrZ89ODrQ6tjEWS/kOqZ8GwEOUATtKtzp1eRgmYNfclg==", - "path": "system.linq.expressions/4.3.0", - "hashPath": "system.linq.expressions.4.3.0.nupkg.sha512" - }, - "System.Linq.Queryable/4.0.1": { - "type": "package", - "serviceable": true, - "sha512": "sha512-Yn/WfYe9RoRfmSLvUt2JerP0BTGGykCZkQPgojaxgzF2N0oPo+/AhB8TXOpdCcNlrG3VRtsamtK2uzsp3cqRVw==", - "path": "system.linq.queryable/4.0.1", - "hashPath": "system.linq.queryable.4.0.1.nupkg.sha512" - }, - "System.Net.Http/4.3.0": { - "type": "package", - "serviceable": true, - "sha512": "sha512-sYg+FtILtRQuYWSIAuNOELwVuVsxVyJGWQyOnlAzhV4xvhyFnON1bAzYYC+jjRW8JREM45R0R5Dgi8MTC5sEwA==", - "path": "system.net.http/4.3.0", - "hashPath": "system.net.http.4.3.0.nupkg.sha512" - }, - "System.Net.NameResolution/4.3.0": { - "type": "package", - "serviceable": true, - "sha512": "sha512-AFYl08R7MrsrEjqpQWTZWBadqXyTzNDaWpMqyxhb0d6sGhV6xMDKueuBXlLL30gz+DIRY6MpdgnHWlCh5wmq9w==", - "path": "system.net.nameresolution/4.3.0", - "hashPath": "system.net.nameresolution.4.3.0.nupkg.sha512" - }, - "System.Net.NetworkInformation/4.3.0": { - "type": "package", - "serviceable": true, - "sha512": "sha512-MKLDZXuBZOS348egaxkMgwSUHIIhykVf0pudpfSdzjKmkRpVCzqkpysPHHp8HfckYAhuXRM+UgxWPgFTHF8Trg==", - "path": "system.net.networkinformation/4.3.0", - "hashPath": "system.net.networkinformation.4.3.0.nupkg.sha512" - }, - "System.Net.Primitives/4.3.0": { - "type": "package", - "serviceable": true, - "sha512": "sha512-qOu+hDwFwoZPbzPvwut2qATe3ygjeQBDQj91xlsaqGFQUI5i4ZnZb8yyQuLGpDGivEPIt8EJkd1BVzVoP31FXA==", - "path": "system.net.primitives/4.3.0", - "hashPath": "system.net.primitives.4.3.0.nupkg.sha512" - }, - "System.Net.Security/4.3.2": { - "type": "package", - "serviceable": true, - "sha512": "sha512-xT2jbYpbBo3ha87rViHoTA6WdvqOAW37drmqyx/6LD8p7HEPT2qgdxoimRzWtPg8Jh4X5G9BV2seeTv4x6FYlA==", - "path": "system.net.security/4.3.2", - "hashPath": "system.net.security.4.3.2.nupkg.sha512" - }, - "System.Net.Sockets/4.3.0": { - "type": "package", - "serviceable": true, - "sha512": "sha512-m6icV6TqQOAdgt5N/9I5KNpjom/5NFtkmGseEH+AK/hny8XrytLH3+b5M8zL/Ycg3fhIocFpUMyl/wpFnVRvdw==", - "path": "system.net.sockets/4.3.0", - "hashPath": "system.net.sockets.4.3.0.nupkg.sha512" - }, - "System.ObjectModel/4.3.0": { - "type": "package", - "serviceable": true, - "sha512": "sha512-bdX+80eKv9bN6K4N+d77OankKHGn6CH711a6fcOpMQu2Fckp/Ft4L/kW9WznHpyR0NRAvJutzOMHNNlBGvxQzQ==", - "path": "system.objectmodel/4.3.0", - "hashPath": "system.objectmodel.4.3.0.nupkg.sha512" - }, - "System.Reflection/4.3.0": { - "type": "package", - "serviceable": true, - "sha512": "sha512-KMiAFoW7MfJGa9nDFNcfu+FpEdiHpWgTcS2HdMpDvt9saK3y/G4GwprPyzqjFH9NTaGPQeWNHU+iDlDILj96aQ==", - "path": "system.reflection/4.3.0", - "hashPath": "system.reflection.4.3.0.nupkg.sha512" - }, - "System.Reflection.Emit/4.0.1": { - "type": "package", - "serviceable": true, - "sha512": "sha512-P2wqAj72fFjpP6wb9nSfDqNBMab+2ovzSDzUZK7MVIm54tBJEPr9jWfSjjoTpPwj1LeKcmX3vr0ttyjSSFM47g==", - "path": "system.reflection.emit/4.0.1", - "hashPath": "system.reflection.emit.4.0.1.nupkg.sha512" - }, - "System.Reflection.Emit.ILGeneration/4.3.0": { - "type": "package", - "serviceable": true, - "sha512": "sha512-59tBslAk9733NXLrUJrwNZEzbMAcu8k344OYo+wfSVygcgZ9lgBdGIzH/nrg3LYhXceynyvTc8t5/GD4Ri0/ng==", - "path": "system.reflection.emit.ilgeneration/4.3.0", - "hashPath": "system.reflection.emit.ilgeneration.4.3.0.nupkg.sha512" - }, - "System.Reflection.Emit.Lightweight/4.3.0": { - "type": "package", - "serviceable": true, - "sha512": "sha512-oadVHGSMsTmZsAF864QYN1t1QzZjIcuKU3l2S9cZOwDdDueNTrqq1yRj7koFfIGEnKpt6NjpL3rOzRhs4ryOgA==", - "path": "system.reflection.emit.lightweight/4.3.0", - "hashPath": "system.reflection.emit.lightweight.4.3.0.nupkg.sha512" - }, - "System.Reflection.Extensions/4.3.0": { - "type": "package", - "serviceable": true, - "sha512": "sha512-rJkrJD3kBI5B712aRu4DpSIiHRtr6QlfZSQsb0hYHrDCZORXCFjQfoipo2LaMUHoT9i1B7j7MnfaEKWDFmFQNQ==", - "path": "system.reflection.extensions/4.3.0", - "hashPath": "system.reflection.extensions.4.3.0.nupkg.sha512" - }, - "System.Reflection.Primitives/4.3.0": { - "type": "package", - "serviceable": true, - "sha512": "sha512-5RXItQz5As4xN2/YUDxdpsEkMhvw3e6aNveFXUn4Hl/udNTCNhnKp8lT9fnc3MhvGKh1baak5CovpuQUXHAlIA==", - "path": "system.reflection.primitives/4.3.0", - "hashPath": "system.reflection.primitives.4.3.0.nupkg.sha512" - }, - "System.Reflection.TypeExtensions/4.1.0": { - "type": "package", - "serviceable": true, - "sha512": "sha512-tsQ/ptQ3H5FYfON8lL4MxRk/8kFyE0A+tGPXmVP967cT/gzLHYxIejIYSxp4JmIeFHVP78g/F2FE1mUUTbDtrg==", - "path": "system.reflection.typeextensions/4.1.0", - "hashPath": "system.reflection.typeextensions.4.1.0.nupkg.sha512" - }, - "System.Resources.ResourceManager/4.3.0": { - "type": "package", - "serviceable": true, - "sha512": "sha512-/zrcPkkWdZmI4F92gL/TPumP98AVDu/Wxr3CSJGQQ+XN6wbRZcyfSKVoPo17ilb3iOr0cCRqJInGwNMolqhS8A==", - "path": "system.resources.resourcemanager/4.3.0", - "hashPath": "system.resources.resourcemanager.4.3.0.nupkg.sha512" - }, - "System.Runtime/4.3.0": { - "type": "package", - "serviceable": true, - "sha512": "sha512-JufQi0vPQ0xGnAczR13AUFglDyVYt4Kqnz1AZaiKZ5+GICq0/1MH/mO/eAJHt/mHW1zjKBJd7kV26SrxddAhiw==", - "path": "system.runtime/4.3.0", - "hashPath": "system.runtime.4.3.0.nupkg.sha512" - }, - "System.Runtime.Extensions/4.3.0": { - "type": "package", - "serviceable": true, - "sha512": "sha512-guW0uK0fn5fcJJ1tJVXYd7/1h5F+pea1r7FLSOz/f8vPEqbR2ZAknuRDvTQ8PzAilDveOxNjSfr0CHfIQfFk8g==", - "path": "system.runtime.extensions/4.3.0", - "hashPath": "system.runtime.extensions.4.3.0.nupkg.sha512" - }, - "System.Runtime.Handles/4.3.0": { - "type": "package", - "serviceable": true, - "sha512": "sha512-OKiSUN7DmTWeYb3l51A7EYaeNMnvxwE249YtZz7yooT4gOZhmTjIn48KgSsw2k2lYdLgTKNJw/ZIfSElwDRVgg==", - "path": "system.runtime.handles/4.3.0", - "hashPath": "system.runtime.handles.4.3.0.nupkg.sha512" - }, - "System.Runtime.InteropServices/4.3.0": { - "type": "package", - "serviceable": true, - "sha512": "sha512-uv1ynXqiMK8mp1GM3jDqPCFN66eJ5w5XNomaK2XD+TuCroNTLFGeZ+WCmBMcBDyTFKou3P6cR6J/QsaqDp7fGQ==", - "path": "system.runtime.interopservices/4.3.0", - "hashPath": "system.runtime.interopservices.4.3.0.nupkg.sha512" - }, - "System.Runtime.InteropServices.RuntimeInformation/4.3.0": { - "type": "package", - "serviceable": true, - "sha512": "sha512-cbz4YJMqRDR7oLeMRbdYv7mYzc++17lNhScCX0goO2XpGWdvAt60CGN+FHdePUEHCe/Jy9jUlvNAiNdM+7jsOw==", - "path": "system.runtime.interopservices.runtimeinformation/4.3.0", - "hashPath": "system.runtime.interopservices.runtimeinformation.4.3.0.nupkg.sha512" - }, - "System.Runtime.Numerics/4.3.0": { - "type": "package", - "serviceable": true, - "sha512": "sha512-yMH+MfdzHjy17l2KESnPiF2dwq7T+xLnSJar7slyimAkUh/gTrS9/UQOtv7xarskJ2/XDSNvfLGOBQPjL7PaHQ==", - "path": "system.runtime.numerics/4.3.0", - "hashPath": "system.runtime.numerics.4.3.0.nupkg.sha512" - }, - "System.Runtime.Serialization.Formatters/4.3.0": { - "type": "package", - "serviceable": true, - "sha512": "sha512-KT591AkTNFOTbhZlaeMVvfax3RqhH1EJlcwF50Wm7sfnBLuHiOeZRRKrr1ns3NESkM20KPZ5Ol/ueMq5vg4QoQ==", - "path": "system.runtime.serialization.formatters/4.3.0", - "hashPath": "system.runtime.serialization.formatters.4.3.0.nupkg.sha512" - }, - "System.Runtime.Serialization.Primitives/4.3.0": { - "type": "package", - "serviceable": true, - "sha512": "sha512-Wz+0KOukJGAlXjtKr+5Xpuxf8+c8739RI1C+A2BoQZT+wMCCoMDDdO8/4IRHfaVINqL78GO8dW8G2lW/e45Mcw==", - "path": "system.runtime.serialization.primitives/4.3.0", - "hashPath": "system.runtime.serialization.primitives.4.3.0.nupkg.sha512" - }, - "System.Security.Claims/4.3.0": { - "type": "package", - "serviceable": true, - "sha512": "sha512-P/+BR/2lnc4PNDHt/TPBAWHVMLMRHsyYZbU1NphW4HIWzCggz8mJbTQQ3MKljFE7LS3WagmVFuBgoLcFzYXlkA==", - "path": "system.security.claims/4.3.0", - "hashPath": "system.security.claims.4.3.0.nupkg.sha512" - }, - "System.Security.Cryptography.Algorithms/4.3.0": { - "type": "package", - "serviceable": true, - "sha512": "sha512-W1kd2Y8mYSCgc3ULTAZ0hOP2dSdG5YauTb1089T0/kRcN2MpSAW1izOFROrJgxSlMn3ArsgHXagigyi+ibhevg==", - "path": "system.security.cryptography.algorithms/4.3.0", - "hashPath": "system.security.cryptography.algorithms.4.3.0.nupkg.sha512" - }, - "System.Security.Cryptography.Encoding/4.3.0": { - "type": "package", - "serviceable": true, - "sha512": "sha512-1DEWjZZly9ae9C79vFwqaO5kaOlI5q+3/55ohmq/7dpDyDfc8lYe7YVxJUZ5MF/NtbkRjwFRo14yM4OEo9EmDw==", - "path": "system.security.cryptography.encoding/4.3.0", - "hashPath": "system.security.cryptography.encoding.4.3.0.nupkg.sha512" - }, - "System.Security.Cryptography.Primitives/4.3.0": { - "type": "package", - "serviceable": true, - "sha512": "sha512-7bDIyVFNL/xKeFHjhobUAQqSpJq9YTOpbEs6mR233Et01STBMXNAc/V+BM6dwYGc95gVh/Zf+iVXWzj3mE8DWg==", - "path": "system.security.cryptography.primitives/4.3.0", - "hashPath": "system.security.cryptography.primitives.4.3.0.nupkg.sha512" - }, - "System.Security.Cryptography.X509Certificates/4.3.0": { - "type": "package", - "serviceable": true, - "sha512": "sha512-t2Tmu6Y2NtJ2um0RtcuhP7ZdNNxXEgUm2JeoA/0NvlMjAhKCnM1NX07TDl3244mVp3QU6LPEhT3HTtH1uF7IYw==", - "path": "system.security.cryptography.x509certificates/4.3.0", - "hashPath": "system.security.cryptography.x509certificates.4.3.0.nupkg.sha512" - }, - "System.Security.Principal/4.3.0": { - "type": "package", - "serviceable": true, - "sha512": "sha512-I1tkfQlAoMM2URscUtpcRo/hX0jinXx6a/KUtEQoz3owaYwl3qwsO8cbzYVVnjxrzxjHo3nJC+62uolgeGIS9A==", - "path": "system.security.principal/4.3.0", - "hashPath": "system.security.principal.4.3.0.nupkg.sha512" - }, - "System.Security.Principal.Windows/4.3.0": { - "type": "package", - "serviceable": true, - "sha512": "sha512-HVL1rvqYtnRCxFsYag/2le/ZfKLK4yMw79+s6FmKXbSCNN0JeAhrYxnRAHFoWRa0dEojsDcbBSpH3l22QxAVyw==", - "path": "system.security.principal.windows/4.3.0", - "hashPath": "system.security.principal.windows.4.3.0.nupkg.sha512" - }, - "System.Security.SecureString/4.0.0": { - "type": "package", - "serviceable": true, - "sha512": "sha512-7TGOnj9Lr8ljCJbMHjZC34hEw3Z+zRPp7eNhLBg22mbSqO8gQMGLJ/vQkWv8HFYG0t2i53ZulKZ8NNho+jVK7Q==", - "path": "system.security.securestring/4.0.0", - "hashPath": "system.security.securestring.4.0.0.nupkg.sha512" - }, - "System.Text.Encoding/4.3.0": { - "type": "package", - "serviceable": true, - "sha512": "sha512-BiIg+KWaSDOITze6jGQynxg64naAPtqGHBwDrLaCtixsa5bKiR8dpPOHA7ge3C0JJQizJE+sfkz1wV+BAKAYZw==", - "path": "system.text.encoding/4.3.0", - "hashPath": "system.text.encoding.4.3.0.nupkg.sha512" - }, - "System.Text.Encoding.CodePages/4.5.1": { - "type": "package", - "serviceable": true, - "sha512": "sha512-4J2JQXbftjPMppIHJ7IC+VXQ9XfEagN92vZZNoG12i+zReYlim5dMoXFC1Zzg7tsnKDM7JPo5bYfFK4Jheq44w==", - "path": "system.text.encoding.codepages/4.5.1", - "hashPath": "system.text.encoding.codepages.4.5.1.nupkg.sha512" - }, - "System.Text.Encoding.Extensions/4.3.0": { - "type": "package", - "serviceable": true, - "sha512": "sha512-YVMK0Bt/A43RmwizJoZ22ei2nmrhobgeiYwFzC4YAN+nue8RF6djXDMog0UCn+brerQoYVyaS+ghy9P/MUVcmw==", - "path": "system.text.encoding.extensions/4.3.0", - "hashPath": "system.text.encoding.extensions.4.3.0.nupkg.sha512" - }, - "System.Text.RegularExpressions/4.3.0": { - "type": "package", - "serviceable": true, - "sha512": "sha512-RpT2DA+L660cBt1FssIE9CAGpLFdFPuheB7pLpKpn6ZXNby7jDERe8Ua/Ne2xGiwLVG2JOqziiaVCGDon5sKFA==", - "path": "system.text.regularexpressions/4.3.0", - "hashPath": "system.text.regularexpressions.4.3.0.nupkg.sha512" - }, - "System.Threading/4.3.0": { - "type": "package", - "serviceable": true, - "sha512": "sha512-VkUS0kOBcUf3Wwm0TSbrevDDZ6BlM+b/HRiapRFWjM5O0NS0LviG0glKmFK+hhPDd1XFeSdU1GmlLhb2CoVpIw==", - "path": "system.threading/4.3.0", - "hashPath": "system.threading.4.3.0.nupkg.sha512" - }, - "System.Threading.Overlapped/4.3.0": { - "type": "package", - "serviceable": true, - "sha512": "sha512-JWEtWIoYBHzMmgt2I/1e4FFG6veDL4yzA1Y7iuEY2G+GyZyrzqx/GQlM92M+d81D1cH2dp2KRhbZdQebn8Q+RA==", - "path": "system.threading.overlapped/4.3.0", - "hashPath": "system.threading.overlapped.4.3.0.nupkg.sha512" - }, - "System.Threading.Tasks/4.3.0": { - "type": "package", - "serviceable": true, - "sha512": "sha512-LbSxKEdOUhVe8BezB/9uOGGppt+nZf6e1VFyw6v3DN6lqitm0OSn2uXMOdtP0M3W4iMcqcivm2J6UgqiwwnXiA==", - "path": "system.threading.tasks/4.3.0", - "hashPath": "system.threading.tasks.4.3.0.nupkg.sha512" - }, - "System.Threading.Tasks.Extensions/4.3.0": { - "type": "package", - "serviceable": true, - "sha512": "sha512-npvJkVKl5rKXrtl1Kkm6OhOUaYGEiF9wFbppFRWSMoApKzt2PiPHT2Bb8a5sAWxprvdOAtvaARS9QYMznEUtug==", - "path": "system.threading.tasks.extensions/4.3.0", - "hashPath": "system.threading.tasks.extensions.4.3.0.nupkg.sha512" - }, - "System.Threading.Thread/4.3.0": { - "type": "package", - "serviceable": true, - "sha512": "sha512-OHmbT+Zz065NKII/ZHcH9XO1dEuLGI1L2k7uYss+9C1jLxTC9kTZZuzUOyXHayRk+dft9CiDf3I/QZ0t8JKyBQ==", - "path": "system.threading.thread/4.3.0", - "hashPath": "system.threading.thread.4.3.0.nupkg.sha512" - }, - "System.Threading.ThreadPool/4.3.0": { - "type": "package", - "serviceable": true, - "sha512": "sha512-k/+g4b7vjdd4aix83sTgC9VG6oXYKAktSfNIJUNGxPEj7ryEOfzHHhfnmsZvjxawwcD9HyWXKCXmPjX8U4zeSw==", - "path": "system.threading.threadpool/4.3.0", - "hashPath": "system.threading.threadpool.4.3.0.nupkg.sha512" - }, - "System.Threading.Timer/4.3.0": { - "type": "package", - "serviceable": true, - "sha512": "sha512-Z6YfyYTCg7lOZjJzBjONJTFKGN9/NIYKSxhU5GRd+DTwHSZyvWp1xuI5aR+dLg+ayyC5Xv57KiY4oJ0tMO89fQ==", - "path": "system.threading.timer/4.3.0", - "hashPath": "system.threading.timer.4.3.0.nupkg.sha512" - }, - "System.Xml.ReaderWriter/4.3.0": { - "type": "package", - "serviceable": true, - "sha512": "sha512-GrprA+Z0RUXaR4N7/eW71j1rgMnEnEVlgii49GZyAjTH7uliMnrOU3HNFBr6fEDBCJCIdlVNq9hHbaDR621XBA==", - "path": "system.xml.readerwriter/4.3.0", - "hashPath": "system.xml.readerwriter.4.3.0.nupkg.sha512" - }, - "System.Xml.XDocument/4.3.0": { - "type": "package", - "serviceable": true, - "sha512": "sha512-5zJ0XDxAIg8iy+t4aMnQAu0MqVbqyvfoUVl1yDV61xdo3Vth45oA2FoY4pPkxYAH5f8ixpmTqXeEIya95x0aCQ==", - "path": "system.xml.xdocument/4.3.0", - "hashPath": "system.xml.xdocument.4.3.0.nupkg.sha512" - } - } -} \ No newline at end of file diff --git a/MongoDbGenericRepository/lib/netstandard1.5/MongoDbGenericRepository.dll b/MongoDbGenericRepository/lib/netstandard1.5/MongoDbGenericRepository.dll index 5642f8d26dcb4f9e3a0f30665197f740722bef5f..dca7898823daa61853c9e9a4d55e83fe4be3a56f 100644 GIT binary patch literal 183296 zcmce<2bdhi)dku+-P5~TCA8A4KoXJ=NNQGrEE8pN&KXS3h|qYK+*3m2oU=_7Ip>^n z27yT?nP_q{w!s*$-Z`hbr>kdo*5?1-d-~v>y0`k?Tc^6Zy1II1cD=1n^L)?q0{lOB zuIJqiIR#P-6!5<*Qo;swl0*0-f%U~Ter#gj$7l>SF&vHd*jCTZ(7vz z9xZuZi?x3E0m@@pW^289RECM|=D!TR6;Tg6|M}jENApnrmt(5Zgny?X?glFP-ke$x z8LSxVdjn9K^?u3Q)G`0p;@Dc#b!ZFpH65p^`|o=2{?I>rB;`e}X}hz-;IhNi&aTd# zVX$ojw-CzX#RFHw>6+TP>)tUAWLrJ7S+Sn&aoozRcKl%x&sv(i^WJFk znq>X;V&tMFZ(X>-e@H1o>|k=U#g0+}W6;{(KWuA?DxTMB?Nf%7N=ZA^uBMU~8oIpK z+B`W7qv0^VlR7uy9G1L!y#<%^TG^^`C0~bjpga^gR|3LyNSjwO^TMyq^UZw1XavBF zRJmeC0mFn^|F)(!FG7alkO4X5*m^j7Niw zH?0)!fV1Yuh&HLCreUZ}a&tjft_2m>Hwy`EuJI~Y%miSVP_wzpHWv*&+KxKKnu34V5G@A5voS;Grj?AAO|>BIZwYc- zt%aOmuUw16hvQ%gVPKXN+MG+NTrtytVM5L3#P!HNrNQP*IWR8zQE`7GU*9Y(49qe@ z8+TciD`q)hm{7BE2imwa6ymOgxZtU{%gfg{D+q18=_*&uZ-HS#&BhyKZ2N2owc53Z9#qa172h{#2l~q9Tv_FcSp^s-)NIZ+o0A5cGfy>?!L$Cy z=}_!d6~{NL2?Mjb(B@b}<%+>Ph8)yvj$t+j4TXMU|Kr>!F3LKuYYPLjj?l(kSLKRX z4;UuYY+TG=Jg+nq;Jc zW^(aq-P2!U(s=RVSh$2F(;2g}zt zhX@06sIY7jp^aZvxnc}3OsLuTxaYEeXy_5YlE$AYU*8-i49qNH*&Hsk@sCisVvYoc z2{jvktc_1YkNE9r{G;USo1=w+IYwAE#|mxy<5aGgAIb9f-GlXSxrqISeOXZ3= z8yF_kZ2Sdnd>VSh$F;2Z=g8ML=L!RJp0I4r7uxuLP`P6M2n-WyHvU33J`IKVoR>$W z@h_0CZ!Q!D<|3h8!(6O##asdm6KXc@cpI07!kUP2aZRh;m&(^SvxR}VOlad?u5!g( z0SpsrHtqx)mj)Ym<5Jg^P)rl%(UKoTJ7H4oSifM5cJ9Tt3vG7p+Zt^emA2_B#Nu3X zwJ7WN zSsg!v11Gl)Zi*%$YwG+gZ0WgK1vwY!J!dW2b2yw0zrCe&==MQvglY~s~xi3bJoVoc5T%Ff8UP@4CBh4Re@!oYkeESryn$osJ^l+7n9 z*arMn<%;6_4^R3Di^BpiusM*FWX&Xa>ZA_MTLYnt`Ir`>r!od6>EStXzk@p|A zP&WUxh0y${g3bGr$`$i3V3<&|d6%+zX|Q=WFLc77FrLP4m{IbhpK(kO{~NMAC>T^m z)o;{8xJb}P>!Ocvxna+sj0u%{2E^Xhvb5)G*@d`gKvQuoE9c(UvZ_F?Y%Pl^Q)BWM zw2Nc%KSE2oTjh$G3k(x#mh{q=G!2$C*6JGb@iJn>*lQsNrb)#HF~x2Y2BsvmIee8X zCIE&BHJf8un}Y_M1J6eGx{8-$66Z2oo;q`Ke#G3VoMpxJO(+aZv#@Niy@R&c-2GIp zm{wqzP_wyLu(@flxeJ%pbfzm3xA z9+fL*2rx{j*~YAB8$*L_On&dgjH*0sa`nwnVPJ*{%cdeko^};%p5ZE2%)G!bp=R@} zWb@Eap9hnv^2{e!-;59jW~8ueMhTH;eiiJ4<7kyDW(+V)sM$O#+dMR64~|*CVR}}c zv2yjz0>Z$I6PC?_LgZOU1)FEQ%GewNVsi-6=E04HH#r*IJRBpKvz2F}T(LJK49vp9 zvgr`o@RL-on90B}p=QIcYQxizg|FSCG4Ct>6#4pQsxUB%2+L+sp^d+o$`!LXFifb~ z_^a9YG}!os5w|*Oi(_yNTAYhwP3jw`*G#ko!r+D^V}9-97NT}8iCSL!O9|~TnWl2Z z{00~%)NH$OU9($hu*0Nw?XS&@>H}W;xB)5l(u(7oWrTrQR%ml9r*g$C4-6A(Hpe

t z{+h%MPkGjst8dm324-Dh*{ml-p7m9*c{WhFVm1VZ2{oH%W1EMD`aHP7DbGf7_07h@ zz-%Hcn@xqtvzZEZP;ahs#cTl#6KXckCN>WZ*+rA}8*Y=zv!z^pvz0I~TMNtPcS7XZ zMg^N^Ta_zjJ7Ablvw1ePd1!F+@Y=^cS9!LVt8aD?24+WL+2ApT_XkWxt!8JHD+Z4& z2v5z1-^_-mAq!u-_Hl1i{9Wbio85$g*w zi(_z0TI#R$t!Q*61nG9Ifw={@WUe*#LW(I^9`6k-yqHi0Urg+S8v9~`rs5)l7LI+p z&KTk?xMcorBCF&1#jVA|%0T_HFMK%H#6tVbxu43|!vSIs2h#Qf?xh_5G}QLv@l4X{ z$G;;v^*Li>t)SRlsAKH?g*Ns9Dp$;bz%Zd^V{c<)(@+d5U-p&dVo$`w-uh6y#xZF|d& z20MN*e=2qm@4(~T+OsLr$JK7vH6s`fr#rjEc zkC3l#juZywD4~sew8|B83@}Wn*|mVM5Ku z!}AZv5Dhk7t)F*cSL8jjE7kh7_=#}ic_;RE-f7Rz`*++|rm1+|<=oqOR|R-w*9g{; z;&&24@LZoPwEMuPsEmCuAojr^Ex+9?KN@=M1Fx9IJ59dW2NPl+Oo)9jVT4oJYR*y_ z`(QxqgF)K(yW99Q6!xh&m*SkLz30dm`(Q%sg9)(@CbaSYpfdKsfY=9vwDI?_@oDH0 zA4^5Wzd*j&2NPl+OjtG-3vK*MRIZpyfnh?;#^2M%r=drDED;rdwtRhanJ_Sy3(MvT zp^bl~$`x}JFifb~_%m#L8hXUX8d34DmalKF5eDX3VcA?KwDGT3xngbrh6yzre=i%K zhC+N^XPCzo|3>-x<|biaZWh}4?-rFS=2l>sP_uFOwsC1F?&s|d3-|MG1J?HQtTDR1 z7uy}Qxmz#$ATqaJgt)hGN~~?Y)IICog*ske#NMti+Vks6&$=`fuP-_Gc73VBxxTP! zR)5`%5WK$b5!$8Ey((ACeZVlGX8UPh+fOvur4i{cH{zY!1vy$`QoBXA<1Sty+#dsdK*I^@ruWaz3iKzIjX- zn8$@>^Mugmep2O%c?uXN)NJl9o0|rk8>`zi8Mcx3XS#yr09w*M<+Cohs|`;pzHgop z2Ig5|**qu2y6t%tY-3(fxnf=fh6y#>m;-HNXsBO@uASz2Nv^(`BMi*T!m@cqh&+E% z!RC2Y<%)R?7$($go`Y;28tU`l*+YC@m#c5y5C-N=VcGmyh&*qpU~fKet6VYf0K3!2DHMHlGS@_|H_Xn9qS>Ld}Lh)P|=a3twCB;(1B&zmTtQz7%2` zPl#PSp^g8I$`$i1Fifb~_=$~AgN}Hhb2UadaucO}Vv$ zpO#SphVL_j3e!u`mALeuZty)k5AyR>LxL&8{H}k%+!~CZ(mWxI|B3QECF~3Sh(aldej@lm z*OpAKY_+)s&zS1tf8h|$Ek6qb^KYTu>;FaNiun&POsLtuJ<95I zc3ZX<#8^>|ZpHD-;lq;qL3=?WL$Kf^y4fQ#WV2(WHkyLBE@Yt!G zzT)~O5C*0!w3l$Ga>X|}dw@dh z0SaxtNh)Ix5QsfMNSp68n~#Pb`A)CPhsST_o1$3Q6BJ@kP>4N2VYC>)EUt3JECCD? zYBt{)HXjYqQV{O>!aYUtr@>A>zYzvzX<^wcBaD^>nB`Q)z8etxZjd(qnKnKR(R2v6 z|IQ*Gr$5iG&W=&zV7Qn2na>c9z3=?WL-+4A44bgfKF2D1c&*A$A>Z{kr6V^t5 zREv1MU@h%o*Ff!AA92Wk17Tn`6qe0KLfp?cwuQ3U#1=xcsS0)~+Dv79d zIvQ-c(WPWC-$w!GA)b@o7~}16yTZ+t#!@NT99q0Ryo`>%wRlw54p|Kj-3*5Y!{Qxj zQpoj7zP&?6yfsF=4|beT44|mENe+v5s<~}!v*MlaMQHS}_+p(F-Fru&f3O!aq;LdZ zBu9La9Pfe{9i#ndSK=#krsLs1+70DscZfM-@p)RS?m^on2zvl+)agJQc{ki6bGN965?}ILc1w+~4jO9ff;7hsSq`oXc1v>{uQG`{UKC-#HH=~Tt?&1u5GoGvVzGlVwZnJQPzS->!%X7k-_^U=^F z-z|0d_DJ)ctysP}M;MrMg=KS|FghP#{-84Un1I-0g0%T=wfSg>E`;E`p7Fb_F5jMM zzKd`i$NR;?z+56Mn@fc@-)xmD<}zTIP_y}NxA|!3k?)SWd^6H~mn)WUt`G+1N@3Yt zCA8~;t5vR;Yk*-w&E~t)=A*%`3mkrT)#ckO&3CP0`Q|!dV6GRI%?(1kPPkF!in$3G zCe&=cyKO!iYU_loKkuo_hkK*O%gu`An_Gl|xm8#;w+ZdK;C7WO<_=((P_y~&wfShM ztqZbz_toXwC(U=KV)^DSVPNhSmd!mvyDqp_W$gI?vF8J6^WAUr(NJ3#WceOoKBs>l zq>gn#T90+XLuygBF4#A1&;82fn+Jq}c~Dq34+(L9e%Kbu<`G*6&7&&Vspv74E9P-v zm{7A#eb_dYhT^&)PV+t?N8dat49ru)vUysFywBJ|**vR)P4}G274tkWOsLs(kJxlH z*mT(66Z7~{vUaxtAEN==fWq2gkJDPyo}gy$odcS1UqqYhZi%hoGM`}f2|I_QI(h+l zr>qrrE>Kg}4LhgQl&!_frSMcWF zF>?r3F~i5s#WQpKB2t}%MQvTx+_{JKUNvKZx%S^-5w@wrldwKbU6lph*WJ!c@kP$lX zIt+H6E_+9oK@R`APKLwy&aV))^E-(6H0gh@(|@Kutf^K%8pX~VaveLoh5DsR&~c4s z@i1Wb>wF{E|3dxqT>qZ>{C@5DDJXWXkn5{a-#yp6s5|XBmHI<@{R`AT&GjFsHwCr$ z{ZZ^3nd=kl^mV8okk=nh{jOYpgu25={q;5LPgnna%lf&w-oFfe3`APLF!e`s{YB~@ z=lVC)@jbTe_z*=`pO^ZEdHt5uPs#Ojs9&4w_fmf`*WaP;#Q%l*u;yC6aVWa=i`MBY zQ{OE=en0B}$@S)zqW?*C`UTYQhDiJ4QR*M&`d8GQ_LcfU?|?{;U!1!7-}d(m>SyKk z7g4_+Vt9OtPRPA9Jn9&prQvnQ@EHx?Ifh?o2wU?QZ76q+b_^XfEa@0lq+w0RurUqW zIELM5=yVJ-X*kO*vMY^5TAZv6>f8%8P% zR_vHv>cU8FHF)X^(&8``-=wv|qV}KhToQU8V$S|O?t$fHu*CODBTrr*_lEK9oj)Vo z?D50>_V~~6!m>1a3pjiHyq(>una>{{zb(rMP4=^+ccAGK3v7*UDiNpu9#MmaQB&X9 z<9kF+^Vz7pNIOcMrGeglzS8UAHn7=b4sx>}>F~8n3Ay|6yJ%?q9t2)BChR2afVcSA zM8Hi%HuhG*hMwWGHlE+SPV^Nv;N=#bg=Vw{e8z@JUNZGh4``M)pn3A5&3^Pgf=`~< ztec`pq^4mlzSbC%`-iEeocl~U&@MDAQ2BKj1EbZ%T!_oq55t5txG zsiiU7kC_sG#&n}g(I44Fp8LRC1$p;pzxa#J(|HtKPlD*elB4y|z~8EM^vM_FTZw%5Z&qmMPDIggbxZ}6G-1K2=tDr9cP{ftX8c-1sLYd3@X4dUuIANh7p-T1sFzV z1{Gkyc9spQ0u1wK1{Gi!of%YsVN7OF0fw=eK?NAV*#=bshH;re1sE303@X5|P-aj8 zhVhv}1sEn|1{HAfuC#BSqD$C!euQ_y>bHs6aVo$OJ7~5wD&Xzg*XU+AyhsObgf-*i z?zKIf126{oefMv05TDh*6$a)zq1}VP;uCchgRzV!8EW=P=1DwyVE>B-y9a^up1rR- z5OMW!{mxrCBr)o7!94{Byr<(AUnYgaqG#yeWVaHVqi3Pz`&S30?fMapY}Zf1!2C;S z+x4@`74vUkm{7CrdX90uDh-8p;S}4wOxpr~SoFM(OgA%a3#O;-OKa`(fc>o3!D*ZR zqrAT976xXn(C(>uzU?dg90l4$&9(`TNo*4h+3Rv$hrC|4N8Bu{UcC;>H&{z>XrIwt za@%o8+72Ie?3+M{cYZ?q^ckv*cYZ*;^MkbQc+s|l2K)4xp0oefH!s1@ZNs5y8!%(4 z4Xwh!^cUKFIm~(*Hv@rTLd~{ej%@=C&bx5m`!8*X2f-n0!$xR#lD1(m?Cghmgn=0% zESol=9V6ScLc9YM+BS|-8Semrcn1h++xREjMjC!)8(;mO+Gx@? zj!}O6Mujji3kb_*oY3yqEvPcy8v^m(5Yo2sHQPoS?0%ibRlx7^*?#1gxn9RXLG*?W z%`Un(q2Z)v{WUXf%LL`|%|u~fB4ODqEVOOuP`P3z0mFovZOfl+TWDz9mbd@7a7bWc!M>e1ECs^Z7lxY<#~D^RVaxNW3n= z`Wf?7c5*(F2j}!9v*WQlmpeF@MZ7#x2IbxYWczrBr~I&Qq3d1v|B^s&d6(&jZw{S?V9F=~Wtv`*=sBc~_UCZ`Ke7W=&z)tR+O=wQZqn z)=|NxTUTZLdIJ!@-T-OSePYwmkj|vp7(O!1x4t~_9#e?-m_oeA6x#jTja9CgO@LuS z%|`#LjZTBzuSNg!JUHj=Qyh}srGn@)9iN@I&!O3SDd(W0()MhsT)x>%7?{n4WwV9Q z?&of)a>Z-~3=?X$Jzv=N&|vp-e^qy)ZC42+L+iVYDL_Qf4QW@tX}m{AL5BjsLZcPeb9e zqU^_G)A+l{*EhQg1GAg3Y<3sg_@n^`_H+u;Kv$wEp z_7U3n`>I?qF)&Q1+4$eu_%!s0e|#E$Kl%FR_rkz*3d^QTXyfm%a>X0~3=?WLKK4M_ z|1|W7e?l7nK>7OSAYot*7M9H+LL2{3l`AFzh6yzr|9cyshC=+c(Elf<@vHLnjS&WB zrqF&?_b`4$p(^I-j;#tciZYk;|;qlF4scYA7iv>-jlJTflaM`a~`UF z-r_n`&S5-jyB?+J1_ zBkqBUC)599KMV=yJW?a5j$k}%`~SKlxPDt{lzunP+nHklLudy6Z$+8^c+Xw{*vIvI zFB)s7kHVZ}zw>o^dR^RygE)`eFSK*r11jUUFM#;%3rKricukt4X|Qvh+7a+~FVeMm z)PzH@gT*oDJ5QSr!Nsl{R>HAoq`4o4mAM}g+T4$-TrrOU!-Sg6U9!1psO27s{U)p= zy)*M`vZ=$5AICARlkgq>C+J;jR--}d@geX*|s1jp(q$pyVCnEp?wQbB(wg`eH2m;{TW52&sMk+APeS zp^dTAz{U@Y0-;ejjBg=NCf? zhjHwey~V-xEOL!sLT9$eb0D!3^fF)$w(Xki$HO=)Wz$YLI||t*d+po^fBx%w1&56H z^0kh7GX_CgR?gk z@;iv$If$>PynG*TaLM`on%bV8rV@M_u^fMjIPqr?!)J6iaem~O-x_#s+Sboe$F_bU z49u6pviVAg=diC;u#NskWqjcQh%Y=q+D7-Yjiw=M^iaHo<=W?0wz=H(9fFJ>9)AzO znvg=O=j5bgiT7Ru&dDp(>vtBl=BAa*MuEs<7B zgocy|-(#))>v=@KAOwCFCGL-i!|>}d^+dAg@bgn1-8h~+<_hsWg@Ah5;Bx>#@F>|r z+4#1AU;IgP4eAJmb%c5kJB?FSej_Dk-pl@wa&A_mebXYeMEa?W-!K8Y# z`xHQYp90dheIDC(8l1M5{|{}~Xu&3jFodkiP|?IO){fFI~*!qp3Je)J9Vt1y5sm?m_>0m!S_z z$x4XdT1r+Xt#I;+&G8QSJYp$Xg=vR_VZ16z1KLW_YQQPWm)gg-8v2x4%<6>d8jx-H z#>2cg_`MBE39SQ4RYG@VGS-o$O6r0jYr*>7@PVZ<-8P84`$cQhJhW(y)`5|06n^&^ zzeMltaiBMR3e;&frys3r4=D0k4@U4=AK>!Y0D3%M13vTtpA8AsjUdTqM9PO&@F6&S z=u+gPAo6zk0$*HUYSNHiaIKY`}*;;IkQ_x;Z5Ij7s^?3O)pf4_%6U z6hz)GpWNCPALeYpXA4w;&z1m}&sNam`5W+|5BO|NsQwO;eDFC=jW=4shv4v`OOcO) z$lK+UTl?a}oCQ8tU_@T7>t`EOfzP%8%V&nJpY5Q>W5{QFlm@o>(GI}$`k_y$pV^U6 z-3hYIFGXX?XOmJw>%dZ#&|P^4m#eNHx**6dfC2B#H#Fe2qA>Cw5=6VA=DlG>b4#=v ztnM|m=Rw|l={3Z>ezdzifY;D(0~~|!EA3r zbstDF8<#Sp70d_@GrH6>QyBRdnC0e-SvEJsrpAj|8}Ql}RbUVUTweP@FD1W+j2CRc zi=N=sNvL)~lGj2hFIvHi;P9eLJuiike}PwS?t>Sz7Iw3JeYafY);P#fbw^ zjK?=1!^1)5AVT$ENRpY5lA#r32o4##)RR#d`4`CK=9El!j&|v+og*eKaLKQyLr?`S zhXUN|DS;kOY(R)UAXFt(4I~LgDIr=xh~N;SOFbclk$-_uZqCk5eou0)C+011%CD!H zr~;?M0PeV(1-+CU4jC`pfEhi(>BUFw-BjQk7Ca&yKkJ6F#2 z#H|3~nw;{Y6}$)zFS^w8QW*Icc;)6k zcrj~%S3U+$KouCA2yn;XNzmgd4H(e}j7}z0Pk|((sVO5`!HD26qDws^g^_=OQEtu{ z^*RQbw+AQi!aDC%RDsiJ0L!VW`_$>s<3-5n43v1EIun@Qr|1JtXA!DrLz2^?DJNRN ziO^laJ8^rTq6>nY3#i?v6h{8wbRKH#eJVG%MCZfW;6BB?e)I=>0Pj;gPnOdkVFafO z04}Esp~s6g;6xvAx`y%8yp?BXn23 z$j%vE5ae1w?VKr${K4-!)Yx;Dn_HsmVRg^h0Y}#6cjon@8|(pm$B^^85k@e%3E=X( z8G0$XMerJ&P(Zc@E(6dmefzc|r0;$asYY{OAvUFA=J9Ajxlf%8yp?BRKr%QqNCeo}g6ZBH@s^n{s@oyXOqd)k)PN=>CNq#G){AdL~g2Rt4_52h@ z{sn%yxlew~+koGjr~;Ee16+P@K`$k5OTGgcuhf7a{lV{DLiIgJ@>@COM=SUd9Da1E z=ch38FYwFFeez@82K@elDlmB;;PU$bdMWu(@*~K2l?MFi4}KpLs-HlT->NA;TEUOt z@S{sTKZTKhfnRR!lOOXo;P+Qlfyt);m)~d5OUdVwUqHsIHQ+~o@cWWb{R)!&R!{lS z3VsBKA6@GCDUAFJ{Bm=j{Fv9_=X+OS{bKhMzeW|9d;>b$k%eT<+Yh{q}8f3OA zN_D%6^u#XD_k`--Ai2x4CYfPZkyh;T5S(2ex)gVL6hz+cE>CVvcX_hsoPDdcJw;|L z?D6EBen1sk|961P=^xNb$v+|EwHk1uCpi5`sQv^=PHU%}Xay&N!-+0MP6{G#ms4(S z%!wHbobZ`vo+~^L{0miR{m%e!IuLsX|3)!h2W=}Qzo0lQT36-&plm-&-;Gi!nOoEG z_as~Mk7Pvau@6eHaYgC_(-kQ*VZ;Wol&WR=V8pJ^KEQ4ltr)R{?g~DQ*^usU!`eBRaVev-lf(i`y3Yg?@$oz!I8{>d@KG=A|M*!0k z&QKsal29E5NuryiL}>+4LU(0ucEag`Afo}b6Rt4w2T^dymz)u8AtJS_=TK+httWhF(h6kz7}DJ<0VYH-L<{X~38f!FWSLbt6bJ-Zo`S zD;N_T#&oG?tT6H~FwV^x*w~*XYax2Jq zy9Rt25q!5MRDTCazW4z<-Dhb9UxLGzF7Qyn=^L#d2{w4nb+ax-aGb16_~^T@T=WB_JfZ1fRde(U6Ao^4OlV? zSnf}#9so&}yQeH^1xtd%k}mZu6-NFAmbp1&nVm!D-odO5I39>9usI0eay%G%DLF*) zP{{-`-lG9WMghkvp=uz>anF<^t>8#-IMSt_qr%9)z%e)X!I4>eaJ283m<~}$wtHaUGHwLq!4fvgnDlj<*;PN{c zdMPGXazfh!;UWX>=Z`+1$MbPW0#*d=ibh|4nOzaej}>DUDH73RvDwsNMldmWQM)X$4Dy!;&ubEEPun1(vxvW0{>p=ibh& z1&)u@)}42v3T*BIfa5lH-5K2twUpcg8Q-hoeUkS}K0tFLwu}e14-%>mL6YsEDO*~> zmf*0ZOFdhKk$-`0ZqC@|=k(|^YtKr|Tj0xQeS3d+7*(M52*5q3k3ugck4Zi*`2=K~ z@SOH?pJx=Xe3DRo3X&|VDN9zKWNaF6WE60Gkx+dJk{oBI9BBndg2Rz6^&AyO{soS?xet!a z>Tq=L^K(!IHZKFfv38$-1$rs@ljN(A@nH?v(I4zyBUE39B)eHDJ6gex;IN}hJv)Vw ze}P?Y&e-MS)R}vjw*kL5Pz5G$0$hH7hF(hEl6)I7KD+@x`h(v)gzCGH3L$AJeS$GG6hjh>K`3O~L|HlBA z&nM91qZ{y{5BU6*Q2i8=e2z)^&qx!l}y z%sJ~Y<}Hjl?y*=-U!w{fz5##})?t>@x6tuE5i&l$0W*4n+4qF%-yq5Cgp?VrU`BA5 z(WRc5!pOhCEH`J&viaUwhcRmdUO%7;4E_#qdHn-A-YG)HCpO?kPw@JYQ2hy#yiQ7a z(F$G!hZkMyc`1zi3%qi3AH0~gz$+hv|3VcQ{0wl%;J=~ACpTb3A29lbQ2h@i8J&_c zq7{q?4kNnMGg27&7Z~N{j8Q(XJ7bV}dvLm5*Ht&Fz-cbPa>CF1LT`fP57GAe*-83< zQ;A1beMoXTE#*WjI1!xB8PWxu&UJSc6h{8wbY5*&AvgE=IYZ{{@j1gA#3?`(IFte4 zgnO~&gkNihwOO(Sl0RD9>*oyV4}Sd!)mBLIJ0s;sEBFzd&mqtS{H}HRDUAHV@46bl z+}!8q5SZ8b9D-eISbqIc1ttRkF28}$OUWR~!I1Hp4fxR?{N^E4hd`3wSt&nS!H?kZ zqf0$Mg^_=OUvBP`AM-Zg*M=%E847Uu4TFwfpOtKfjL&YskN)5{oKVGYa*N+NDL-1l zkKpj5OFch@k$-_-ZtjyG^ETi&AF9A)1iRC0dE_}m8k=nsCQ3Dq%>Jb&k< z{AdL~g2Rt4_52h@{sn%yxlew~+koF#RDsC?0GHo5=y*FVxe#Q0egl5=2fy)z>I6vg z`$Ni)R`4S@{OD58PhsR=;Fp{GCGSTWLy6&Ar+VbP_y!cq`#Q((^~v^c83X$gQmPnOe?&`ZfuknzP0n9&o= zrV*;Yfh4m_Qf9P*8Np#jmwILjBmV-k+?+A%Wqrl04lg_ZTV6|}3JjJ3*z3#kS{8aK zSx$0!$oSF*?C1}6D-f#FA<1rb%8pjBBRK5nQqN9dQyn=^L#n#6h5WL}4#-7m2G zev2wFSrGt!*ypnRR)UVt21u?VxhiCQSp$}g0+y>0s;fhi<>e_$TEUXwu%t^pONEht zfn{#aSZ3$Y+2>-`1{~Kw71*o^a5=68y_BpixsK$zknt4_I5G-2u1Bb@4@r(!rW|Pn zM}otVF7+H0M*ankxw#LH%-VyaeZJWMRbaCrz~#6R^is01xj9=w_i`SY)mcB=v1&PPfhw@s65w*& z3VJEoTJm?2+d#(GG~mc6;J7WJx*a4rUYl~H6&wi;N4nH=R2caeIOgU)I5Mll(atxP zh%oLAMAD^RCk3WyX#YSw1OSMVMmvGb_yf^ z0=wLtvFmldVcrJ(c0(1I><)1G?ExL%6qcL;8Q;)=AN|2^FG6*1Nb=nVAe&b?hi?3H>b>K1v5f-1>b41pOm8uf*c5_-Qg8R{$O?xYU~|8H@8Fw!Vi{S90 zOFb`zk$-_#ZtjB@v-aS1v(DEnRDr?a0GHPh&`ZgYknwHg)ys;Ep5S#9p?WkVdEK7! zq7}Rd&i#Nc;8j?WDUAHVD_@c2=KA}AbH13>xgXeZi0{Z@jd={Jz~ESb%j-Dkc;62h z-$7m{pu}-_A}}3?^aQVy2-TAz$?MLP7p>q$=&s))W)I0$RE5;LyaAW zxw$1e9oAmQA+!3?8LF<0!&}AcOc=r7EP%`FZ0LA14jJD?UcKDg=m}ou5~}AxlGoiS zFIvHi;LIF!0k6WnO=08@UirN(H)k_Pc5ide7qdF^hMo8A^>sd~z~B!6@LD&UH~t76 z-%ORf5Hh}p?0T6!=nr-m5vmtMlHI*2J6gex;9O;N0lUKNp)m3LiHv{@_R7l zM=SUdx-0mSmA&fdf*`j5YFC}Y$RGS}MUB1ca&t>`8>|gJC(XQmbh|wu`@XH^cL$7M zawov$cNcVgA64=m$oQcK{OAvU_Y$i2L6YCYDL-1lkKpj5OFch@k$-_-ZtjyG^Y-9( zyUySJr~;D*04~1=q2v3gk`F`1kC5LZDDnI~3QW%*{lV`sLiKS-@_RJpM=SUdx-0nJ zl0AQPL69c_wezPi@&~`CP-D+uZf=R5hPA=@V_rXc#vYKJzdOY5Ss20OIe^RWdFc4Q zrsRu|@nhuo5=!JZ2bl7sKlr^&sJ;S8evha8Xazq)cV+F2A6*dSRX~lO!pI-|UPF!L zmz!In*I{kIk9qy*4SPVw&yLSGVFZ&u16+P@LC5zQCEtOJpCG?pu0Q&N-@AnBdywS! zWXg|L@FO_mlP=&_xc(GI{)O?GoBJG}%-dsp-l_BV7gT}C`v8~U2hj0-M#+yLnuNb-9+>J zrV1nf0@K`_G0pG&&UZ4H*Wqf{qWJ6$)}mgsxHbX670*QcW4NWH1ih5_knsy-Heb5y zIRcoDT6%(6K&X}>$?V0H8LePOaK0Kv7cd*`?s_VW{K0HYZPzn5r(cb#edo_vvoWjl z-6)q=h$=8>2DrRhpqG+*7+KMDlixbaCr@aUP=Z-#xIjsFV95u1h07r)gh4N^-9W%R`4P?&qQ zy_)i(6}$+}cP{AyUd`?}R2cb#S4(Xi=H~kETsq^BS)K1(+HrWVc+HC{FqjYE@)`jh ze;^MsevQ0(c_yMKc#R@d=Z7S(*Hd1!f)~MgCZY>?6`qL{M*iTHKNIEVKAwq~wZ}7& zoi|3K3Jk^ozzfercHS5Z9dEoO@mG3V<2T5zm)V2JkRYsTk zt4v|!U%1M0b9R;G^P;o&&b-cbW}k^HzwxL7lL-Kq-$dwm<0ZK;Wc=p_{OAvU9fay6 zNb-9taQRJzUP=~`#2TPAew+My zS(DKp{1zir7l$OjcT#?|f*-+IlhFnI3TrZjkw5t5&qTSo&ovqI_E?iyeoLSVOqK+= z{FZ`VN~THv1~PuP0YCbK-_nHYGLYo=UdoSF@FO_<=u*#5VdP)nmz(?K$GkoG;d{=w zZ!e1~Fj)@Z@>?EyDOo{sI%ND8^6TZ9i2mUBTS9e3Nb-9>Kc&b z_hHJ9R`4S@&qQ7>W{~9f*OVWv;74%Q z&2$03!V`kR$RGUjCxqPGbKUIRADFkWZfJ7lBlx&Bh{RN7C@%AX=4HKmMI}|(CbPo#?=Pv@S z$KKI0fvOmvM4ua%c9!){PmA(pZ90p!n){l^b@}0fa`k~RDtQP0QBGCu%lCUgO+y6 z?kHwI%drQ|wrBQ4(e0TTHC;VZ`{OYUf2o9dF|PI^RQHDDxcV#|SF~bW5u9$J3&vH} zE&8Prg^_>Z7dmotty^mSa>ISKeqr9UUpmvj%DK{L{ZdDKPl6zCp(+c)SMs z@xG|hpU}2Cek%v&IEJ-jYFB^!dFxsHOV|7()A)tK){gD`ct6w)kADvtcT#lmSnb#2 zkDqw>b0Ihf`@@EFZ~y?;=)U@PiTy((2f~CemO{p#qi;B1525k}lzzjaF9FUd{0gep zcp8OzM6{!j2{;N9Vzmm%QTR0u=P0C=qmbw0K61W37_jAF|56cl@$ z)7l)$bLu=-G7`9+N~oR&Nv_|e=ag1(B{(w$T@a)&Qz(r53o}J-&Sr{U&MC7x^Jk#3 z`=ofDjw#|iKMLa$oNOJ)f%Fo zP;{p6e?jf-VU|Hb`C3BtI!IFfIi*Z1C=;BAJ-UE$_Asj{O=08@%K5`=ZmvD-W!L%% z=hfykrY$_{<(#ia6)4^SNIBn#BEA4Cc{61EZ*ivKf91@e;Cu_AdMhM3|B`a16`TnU zXS&pLRv7sgIOpcRI5Vxo+1{J+=P_|_z718Ncsl@`d2hZ0MZDyMjQ=CHccJK<+-?|q zd(vej5WR;`y_Y^9IyWUsD~J-DCtbRLX!fM5ldCZD2hsdVH#cWby4ksP<~L?_o^vhF zXTJu9A%p$fDf2h^UIo`6z&UV0Kr@p(y> zZD8i|^C?zy`B_SyMzQ$3^b9QSQ^B(}{eOL4V)M9CeU4at9+E575_=CTRa&`HB|5iz zI@LcfDUbpbo|kfScDt`V7dX#L%J-oo%k@Qc@WCgLJ;RlACLrE7`T=+z*)6*<0~-4}4yn z-$fNTzXwP;{{_XA^ZO`foIgOho^uO1_p;%_py2!=q52UdIrmFB(+bW6XTyaq;GAu^ zh_k}TADr_Im)u<2aOs6J)290^Q@cKfGV2qF+GFkNe&_x8yUg)lVT@nGd&&;}t$=kf z$Go6^`4o2a%Vz-e%U0p=<+58=*G)uV@4PciWd}~x5r7E$za!4UZIr;~zGye&pzst*B>JEQ|?D~neS*(c$ zB2qL6f@^d=Mk}NEU~E9J%j}*Rh_yOu( z)H(PUs&Ec|2H+f2(fR*IG4K577pSG=KQwl$I2UsAARNd-j7Eo(nuc|GEf~gmFUC#K zd;41m%!e~oLN&gF3CS}xn0<)59<4Y{1m`GTiB8|p38OUY zn`UkSDv$yUX?FT1H}~wDTOO+Q4HGx$n*pdo-wXugeKQDJ+BbtyRNt`Buy5vJSc@YaP8u~N zj2C3F8CO0hryeQ)7|JpFn$XZN35nzFwY$2K_q?dx}VUsiuds6u})48WYe zDLT6YMRm410bkjK-sW4{{o={2U6o$}#}_tN_jN@s0Ew|`YKH`jgdvwA{pE@IBY_degl*umfS#`ESP zr~=1D0pQqGzZYIz3>Dq&$Ko~|FOFhuTb%Z|0uKH14e@vh8kdC7hWJt_q;oQ}@G)Z= zvHBZGK4!GD3%0^*Y3O{+Aa+;qn-})8esscP#?pZJ2n@a2?Of3m1-J8j%Plu&TW+;A z_3WE#eZk~~JvZ(b|4DtZ464u<%L33Bo8f#f$K3YmYk3s4x9HrQYkawk5?y=383;G$ z6$sVoki0n$C)+LYk{UX0&IE@nT@a)|R(EK{QV?9HIoaHtkD5hLjMzNmjDy-(Yt>el-;JPZIx*8<8&YN=hUK-AXM)BTe;s1F#8$zfQx-?6&Y_op7?GpJ$5vV-xLwQB>vUgdAE z_wyd{JrD1da2>6Q;ONh_0GOMP#F)Y|d|g!I+nlgP^Pxwkw6xC{@NTtcoVgBaw2)=f zy2EuLyVj#^7Hgsr@L2}$w!QWl14}l}%=KA4W%z`d)@1{_Y$zAjL?hu6Z-kQB7{Uve zSsLz3?*W0g&#=UsK;VwBDWN>1JS3R88H!HC&7pQ}LE9|WM57QfnjgY!2^D90D?l@* zpwUdl8DI`ODcTLsC7pNUF(tYh*Xq!gVROdN^I9nT}IL<%Tb`w+ujc(?_(Jhd}PhQQ&Z2OVmyll!N&x|5cM=_K_V@a~>S*0n98 zwGP1`;((dC9fWgQwuhRY7S=eYWe2F3sx->}ujiz74u1Y4?Q5MA2DP^T|IUehI&6GS zc&qsDC!}_(=+9+>qUp>I>F>;*xjCCrJa45XamI1oo`?VO3t1k^siaH1F(;;21Ky05FelgMqLsiqV1?!)aO9s5KAE z*DAZ=sNU8pjEA+#?u6-CUDaGMM+q}M;)Sbn(2o}owX1$ZHVT$-RI_W9Gk~E zPR-2bI4YA4!XI7XyUVoK|A)rf*`RS_-`f~}3K*gLZYg$v^enG9B8z9TeDR!{?SNcq zUGy?KVHx~C0{?G<|9Rc>AMM$GG zLcTXNmJfw9`aS_*EFS}VkL7w5b=6+E2~=4e3t8Sl|Ex|?dN zctunstm5+zLgeQ3gAm!e_WoyUa|F{npMz-jeDwXB>Z4;&g+4kKfId3Cw>~-!b-ncw z?P(t!k0Sc$1VGn!X!!Wy@%I4y-CQ1X5=47^GNiie6c*TBr=pN{7n{NEI*nL89g^J@ zrQJmva&jXd>Qt-qMx>95dhsrA>Hr~X}P&>j6MHWt#|Ew`~5voA+VgUNg&dirUiLmwA zI)z)h)HL5sYOYOum%@f0-R5z&qb`%-avqv?)D zOHyH^Z0$w)W#0;JAG94xB#(zbRVkF zNB0BJMAwEv}}n4cZ>FtPdwBs*$q+EKK!qlivN z(WzlaDWW13Ix08U%|#EtSnDUIFZ9!w=#O_amL5eF$UO$YHHP&MSc57hdF=?ndGKl;(+|x(4?X<}`4>>c2MZ)$ zqWNIHDDCA7gbW47a|qR!A;}m|7<$!4D;N`;FA&lNj0;~NR2cbVwVuzixw-EAJAdXPnc;9p|;r zh$@zX6!tZ9bG8eS^~rVj)W$edJAD#(`0l-D&;3WJ0ha}G>(z8x0coLkmPM7+#t}ya1ob}wCQLNo74?V8Nk!c-{q4#0! zynlfzQ1}u6jt7^LuTaX*JGJ`r{xxj)r~+i+?wC()jZQgpp)0;6RKJ5{S1g&Ha$3<9 z1m~2~rPougSPD`&<+-^>e_VNctv{H%)*mZxvNnER1q*ik8-V{0TypB7Q4C6qwuyK5)=hc|w%{6@ zt+guZo`ycBin^8ej(6h0_=iW>rY*+I?%xkv;oi?pOL*-tpm-|&$LH$334!Mwf<3T{ z%2r2XJ^VhQhrLH$s~%E$6Y>8V_@{v*MJPY z*^_xpFz%FbBfP;wZXMt5?W<$9ox)?h`6*jr8SQPh(9Yvqy}1h#d;j`6!R@wi|Kl_|SV*d~X}dHb2|GGb|e^izjvq zj9}hZWcfw?-=^|b;5fnSn#h)n)S2C*gV|RS(30me)HtvJC_K$Bt>A;OM|+~S-CIvFf0n#@#DmCqqK=urc}di6C;NHoz0V;#ysszmEI+mo@ zugmXr#9SRmzNNamRM+1d(8MFVl&`-xOxkIwHnNHNu7ZS%TP|IgyMR|on~6GV*Xc+ziAPc+qsvq`(R*5TmqXhFGv~9? z-W>h+=wDvsy&x@`@NN59-ooA-X$MZYc`CKK zh1OhRz8x1_V}8%;@a9q7_Y>B@ksaQMl8>Hf!#3wN(56XS7jyJA-Xh-8(tg0_Ca&?8 z^p=&j7<%d&?2s-m?EoD)-J33L4b`pUttbs|@^R!^-pbOj{R?daZ&hiJDc`2v>e3=* z*veZ|+N098_tutnKtKBJ>aF|#u=ghLQI*#p_uZbXGZ4Zg5Sc&%!|Fg-!X7ap10*mg zXjITagBd93pdh274lT;Kpo4W8RCKUGVhc4;sBytY8ze@ku?3B5gH0qZ*l5K@|1P1v z=lt%InbC-~{kQ$U@B68Ko^$4R&-a}B+&jQDfRKVg0i$|a`4{C=J3m|LXA*^P`%N!vFc4we}S5!-U4+6YED;g zg?bOFR1HA|QDvTbJCqZ7=cso;ZAL#YQ160zwioy1Vl@oa0dMp3yp=#CLP`^Rme)ZQ-Q?Oosr`AB-26b3{9BLIt z>+9;1P!B=9r9K5kkM^jaN7Y)WKVoT*sn3`SWAJ0O4ypm8?sN57sI&3iDq20%gBVLm zS_9NYsF|i6fcg@ukM=vLp;(6gS|ij(EQ3S)y_tuejnEE39f2CHy##d+s!Y(DpjuI- zKzkKx5SF%BdmZWm^mDfMCe&i|Y`)eE^-EM)puGjP8dWaRTA&KCv`e+Op{h}3h1Lf3 z4D$TiyHGbH@5kEvP*>7v^bX}_?E|PGSc4n2cBnn5dAIfvRDaamtbGinqGvzTK7ndS zm4~$ssM}DbTKf#jj*$IPr-A|!CLIMN0(}tFW9Z9FeK6DnR5?>03iVU0!E^QDSiWD=5-m{{>8B#rhUL3R z9|d&+{am7thI$bF^yy=v=pWJ3_r6-shnj-9U#m}mnv1z#uTO&Ng*9=DJ_YJs)Vy6U zfO;5J?$)P4Eku>gdLh(jw6sfm;-sw z>E%#=z!Ej;7enz0?GB|$_d@*!>WID+YAW*H)0aV=f;qJ7mq0B5`HAj>dI{e}w8~_@Tz4W|nakR3EI}9Ak~1s~pdLJw;WXANn%c7lst4s>-cH zz9Op(J;&O8dKYg-!+mr4EQhSYXMl>K3>#wYnX4?y+H-oYGOF)mr;nj)sl8-B%6f*T z+&TPtvcsKhe>LpT>8f&bpV!D<+UJjCU+9}lXIJHYTj+CA*861J`m!y-lrQ`6ydLlS zF-^HLi|rGbG9v49`uqkyuR(Mcav$i!bzVS)TeCQqE13OEP`=8}RTGrCL+oT%4(~y> zX=FOheT2H2uB-mh=z3@Hdvd=k+S+Zt>4RePjYXFZwP|!6naBMfq5ktsS0BE+Lf5i? zcl6)chsk=^`tMrCK6F*rwf?_9`bac)d)D3b`L0td$#&HV#MSvP$s_!SuO;8GKN>%5 zef~W%wtYR@FE?%^fA>~)awa6=$4P=>j>+sHycMUD<*g%aNNnW%qkL*YSN)|!kI}p~ zXCEhPaeg7V@}qH;e>k}(S~Js8NuTecJq+Dd8u)Mm*UX~3GF{{R+vL(bCe1$laDIE1 zH8DZCGp8TfAC!e9jnCq3=ZEIn4jxNocNPDWy*;RBd{at&i7_&XA)oSj&zlR)}-GkS2 z7a99TPBM3lioeIl#+W&ZzKf3^5ApoT`tyDKCypvw(yp;|GLpyh$;qOge7v4ac5xp* zR(4f8?u;E(W6U?Vj(EoW9=XmpnfUd2AUdyaGFwN+=4Gyv?sejq?%VwtF^spDAJX%z zlaj%-uJvH{ZNxAh8(lShqhdY$Hkox&^2=}4EE)DLP3fxnR$R@ZUf-O1$*@ytN*6ga z@8om8*Kx9b{`Olnze(=VwmXv+cP?sdY-JM&9e- z^Tw{4@%sUDJe-V-A36NJm}6`z*3Zh}oW(V}zVX=D<2`x&_Z9n2<9U7XWf}1!*38OP zz8a+!<|?a3=4um^&w3{oX3}#jOJQuA;_u5GhbxC$X&=?KT;0FZuBh2Vt{=~sqp>>^ zKZ?wrcW2_4&K!;1nfN;982cuZpzxUdcCWsh-y1pK=D&O7#72lY{=c2YTLCXc_wj!+a_dMQfwdFp z>9_Ly#8`dv%+vTr6$&(2i#_MT2m*Bu6)Bi{q;>d(QXKTlDWOL}F|Pq~?W`)18O zROf!w?4feauTb;NZ`3r`!^?D*+jakNHT@ft&wB5gnyE}j?&H*-SRa`0>I2_xHv7Qq zjk8|upQ)51tLYnAymvD1oU9yv4xQVW_fopeuDcDftILz+#+HTG{CnTiAMQCb^QN7=&#~Tq7a8BrZ};%Kcyo!m?u5ja zh3haMe|}<)Vg5!=&d2Zhng2)n^X>ZP_t@2wzh9ZJ$IWG=f0RN0HHeFBy$b2M2L59; zvXCB-O7&I0(n5Ny6jeVeqz5KaZM5B3NDq>vQtfx}BT=a~+U_l+2Q5;m_U(oANG+-! zE6j+hjkcyj{)<-ruR(0IeOPEW1u4~@R+JM}8*PJ&21S)>FD}AAFQO?8Vo~OzqEn-> zMVaf0^5WEkMdRXBP0@s?+K~5$BK%WEn$jRPDh zQKjYmshIu=DgJ8^&)ZHEUmsN&_5rS7RISZC&2@8B{VcD-b!${5<=yDo7^il*?ue>c zwzpm3IF&Nv{w`%bYvkfK3m^fo=R86r>oAFRo zy_Y#>Mpab3W-FWV^Qg+PUovBRRNXr?Fyog|H7hebqdKbA=IxlVE2>6hJT+r?RGmGr zX~wUk>eh@8X4FJg+NiH*@W0jO{~E;BjI^0gnu64}QDbKQCaO-S*fUYpHgL?$eNmN_ zamLL0sJby{<;>@!Dv4shi>k{h_F_~OWZpjWP@LK|^W~`0@(#^>HBPn9d?Tu!x1BMQ z{;~xBHHZxR%9;FcdilQwu{JYh*4w5a^|QRuv)+lSq`b3cy&tEpoAu|Ynq~XdtiQym z*JgbhRjX`Y%;LYS~SEe8}FEhEMGper7>r-+XWw)O-lWn@}yKX zLkE@oO{s@!P`T#UiY=E(RwGIjb+J@D2UWd1s>YRQ>N=@-e!6-ns-~0}YW6_03eR1r zr$$vtNrGAcRiFHeAtkAaYL!%bhm@5hs=Fomi0y)sB=v+;srIEM$!aQgp$%%P{p%Si zs$Hr_Y#+?9sD7zdWPUKChuRobD@xMTEQi^baNgRIUh2T8`g%sXI!3Bg`-T#mS}4^c zwmV8P)Q!>DC(|?4NHlh2dSA6esuh_>rk|p^2b*(Pk@-N0UEM5IIPZ~?Z1opW^~v=9 z>XT6Q$>$HL8Q@x>bJY^3IX^yz&sVoc)sG6x)TEId z3o6fz)Jo1%15q`uWP$nuRJ}T=&ur^LwM{DC51y}fKsBfvZD*BUpw1s<&OxKZF>^syaqiW0SyVL_w^4GIBse{LMRe53ded@%hdS`Y-bxXC;X3VKnYoco4 zoGR6hlaB^aUgIB)2}9k5&D(awzlYG(g)a71zws zYNg_uxmxlRF4~}S&4F59DD#*zNLwcrA9Dt28zjj`8HaYCRD1*)ti2PBeLZ7{))9?; zFk_hJo@&m4k2xc>s;F8~;?#~y#mAhH+SgI_^^8$kS^?*o$AHn=8maggFj@;j@m~L# zk}+D7RJ_+8tL5VazXALC@mg3a-m_2AI;7%#`BbfJn%Ohndr#A9q{9AMOFo@r<{r9O z>mOCqtTVK+QRTAE)Mi4Nd(&CkMN;wJv_xBJD(t~Zwb!NMJy@yM2E}{Y6|-k+V+zf_ zsP;9p=V*me@gB^rZHmV3n0ZUoDX_Jb($jF>k+9s(s#Hke} zw?-9@rQ71v*E2#<#pC7nsN(VR)2QO}g1e%M$IGUu;_-4{RPlIuAgXx0JgB{e<$E`o zuNy11ccFqwx6r?rt5h@fFHzT3uA_n)#-dU22kig>pn28CC5wTeL!{_zLBywnZwwLU~u)Efrs(9Mi0` z%_@9_(ynDo#aAeQ(MCqqb+bOv3Z>#Jl+Uy$qw2L;ozc<5TfeGvMcy8G>(`=+w|@Eu z*wNS>vqhZRGCMJ$k?KcV_pBD&G1t;?%%7Sy9DXe|DUjF()@p-85%# zoQljD7FE3UpBks0n3ET$KAtl!PHFB5`p`MNNbe@|RrzE+Pb$7DpR7-Wx{1z=UDnC^ zqNti=ouc0wRcT6r{$NyPxlhygK{cqn-#uM_T`InsFVqz`&#yt{tN9{5394S*)GyaP zT|Z5#@eWm)u9rx)yWbFs1*CcL@&MMnhvk*K00f?fmFKwBf-C(@JW znsdi}BE7FvxKE_7kP7#S^ng^jPo#&W!hIsWRVv&k(m$38_lfiwXP9%qeImU~D%>a1 zcSwc%MEa9b;XaX`ai*Dv`$YOMsc@f2zfmgOC(`ee3ipZhPo=_rB0XuISq1lr^d(Z^ zK9RmgD%>a1Uy%y;iS+lQF}hEr&zNsk!F?iqfmFCpq(3GV?i1+;q{4k7eehXk9_|zA zrJXZqZzn&ht3mqt~wd#mo3>Sf0y z_d|LR>K^6g%ro8F^hg<3xwCKjuyaUl|AyKJbx+dU&V>{^WX6<_pe{O}^VZXtSCwu0 zEl@WpuMNJC$g3{k*iFinr=%%A*EdLI8AyA5eT!6WgC|*c=rvNklC#A9i0<&1dGC|j zsow{6z4G+1OWnWHo23e#l09yZ{uiiwlvi@rxPPsmkm`L>HF_#;Cf=jGkn>~rAR)cm%HBm8~y933b~)rQ!eCw-lOcx z4ZG`f2NZApD!u)5I@G(#wV4mN_vy2x+MiiT>THutdNA|n?q~H2q}rKTP0B0D;{(6U z*suGfIx$cv`@8l;*4oUo66&LBf9Az;iu0a}#yIae{Yp89dvhLjH|T4ndMM|@0S)?1 zQcWCG>waFpT`KpWWdokq@0BWqSyMn)RsrCB0OtXR|IG@REL(RL2L_ zx?k4Mm+Hj8WdmN;D@=tE(iHuUM&|YH8B^2p=xf)Vs+{zN+6K6_c;( zx0z%Tuj|+JyQSiF{hA&z70oYAd0l@bs-{`r&}*Q~{rsD{rJUDUgUb8)X5B3n@8{pr ztEA%ne2e~~RJ@;mTW^ty_w#M~q{RyT*P!x#{#|{URJ@;mU$2vj_wyg)cbl(lK1mp>n^Ey zKd%{8Qt^IX7>A_d{d|%!a*3J8`}tI(P%3^N(8Jggjs2;(m$6$a-e22{mZ;k0>SN?A zHLLLcx}R}hRHe+wHIja0#`yR!#8@U3A0LJr_esUa2dDA5RD68MGlnkXJl?-dvyL@J zLz(vu#~JIS;%obSqeUvdwx4JeE;r}L*Y;D4N~!qT{xtf-8Z*Y%_Ju~dRJhM)JO*XX zZ-!APV|?#oreV3%%;S3(vkZ?^srFB%ml&aF?8x-lMw?W8@4{^q_{==McX5Uhl8WzL zoN3rEH)G+vPo~c^N}+o+O??^u@^hos_r)aMvEE6pl=SNdGTxr&v% zlW05$W!79^?1XAikLJDMUT8ck6(2<}F#aMHA1OV?iD+z+dy&!i3a(kN9vk$r`$A)Z zR7XxtoqLgyzS@lK%j-S2+$fgnB~ldzN6ho&qS;I1RPJnFoZ4G@MVzWAy*f_aTzYL( zZM1z}`r|m&R2qy^_m|!pr_L(+H6tJu-#h%HaUiN5EBuquA{E~sJZh9&Yv%Fu+xLv!QAKwIjkN2! zVhi?++d~f>HHR(WgdZRM8zl!xrGYR&~}WRp~UEq;lJTOsXv|cEYGyYmyv0 zVbn;)d4DtfKaR!zW(1|;*w=>ZC$ZSqMwwI`Q$*i&v6v!;NyRZ$d>j{3g>t<~a!eBk zq~gA4;`O+gF2Xm&YU-j&D$X;+vh}f;A=XI6F(C?rv6v9^q~chD=zC)=67oqw%cMct8hrgc|Al&T&#yMLMF+vo}x)AUe`TETU;zn)NG8^OcV7| zab7PGzC9M}C90(2Si124G!{!2L8&;_Ta?`qi}e;>sW@g6!|sg5Y+{mB9Lo@$aj^_x zxyvLumMM(8V|kgvCKbo}2unB?>m%$^ajdWCh>P_V#->=!EYU0#ua_**9v3@B)ZP=T zd5UP1ifi^0mG{PC{lspmIA#~2`(iP>h)Bh;Y!TQTi)D+DR2=IseD}v<{Y5}3jtvln z55!^v#5}1umLvK`VzC@COe&7$iqGR>xgu$cNpftUXqJkXeV}NMiwzQW55{T^5{IPX zJcp?ISuExdHBxbGu(+i%78@+?lZsgZ$3}|K zFJiHgA|e&XMv0Z%W3f?Uom3pl6Z3Y&VtJxmDvpg7qkkETjTVJcacqoG9*M=qh%~7< zHdY*pi;Wd6aj|itsydc8PSi-ndHEu+GZxDiA*nbvUX<;M#l{P-R2-WihW#oQn;<4h z#j%N^GcGn!SazEv$0mtpsrY-CB--O*lSS>GSk1|zQ7X=xA|k(z#iodAsW>)O1RjmW zrizeM94io>npmtr_@v_4X=3zavDj&%P%4g16UO7Q*fe32iesmX=D67DqCGBFC~BXG z?v2H!i?CE2D;CS1ip7e>8mTzu67Ju`VlLs4ieoc` zvo;o+Aqu48*i2!0Iu@HL>{4-TmS~HM%@Q4Pu@X`HOf0WNG)l#Jr6T;>Sgcf3NyV|* z!dDlI%@zTvI5tPP_QhgzM440^a|_3_v6x%rOU1Fd!q^{+%@sDOICh3;i;JBhI^tqy ziu(Fk-kG9FD$biHs-BC*=7}1qI5uAd8)C8fA}kfh&Jy0|W3jV@Un-8BEnEj;v9m>) zR2(Z4`3GaMGU1YnW9NvR-^F6*h|yAU>|F7AT^yNuD&EG<6D@JE1!8++ ztmXpoq*R=@P^^0~7F#IpkcwmHiv_=r#m*PYq~h2GV$vUCu?s|rR2=h&zK3Elj~FHu z#}XEwcBweFSgdJ^ z#TJWOq~h4cV!{5XryO&o5KJoe=V|hODzEqsILew?KVk^WUsW^6-IB+BuyG*<;6~`_Y zhu(_CE*C9Qacrfi|5GfsQZz}$u~p*9mRM|+I3N|rt`L>2vDg)2w^STkEpB-`7F#Xu zlZs=0ao}hy<`=I^#jz_zOIs{}qk~-B|2u@hX)0ZLSe- zLz&;^8u00UJaLWalzCj`8nN>ISe0wUI;l8ztyp&~7Q0s5Ar;526Oj*MvFk*& zR2&P4C;uFa1;hcVIJQMVnL{`>}9+6pQ^>lu5<0pNL_9iN$^*CP~Gybt3=c zSZtkeNyV}2Mb7b9?0PX;DvsSCET6<;H;7Z9%yqV24E%-~0cEb;^o?T zC9D@`NcEZ0Vh@UPsg5SOvu_laOZ9ATclJ$U9hA9M-7JEi#rkryxC_ec%Pr#mZ>Wc$ z%)ZdS57b11VfA<^_dvA%@F z+fe5GHj0m+%${u&pFyox=Ft2$iiFQOZ@uzcTK3yTUnsNYPetXIv6?>>yP(XPcZjE; z%$j$IXQ9?B%c@q)t=ucYC)Ob|MzLTTGIQV`1U> zTPzk9KB+jiNd&)+#WsnsR2;iUL==^RttuY_?h(~eaqM1Er^aIU3Vu^#*FBH>#QXF& z3SD{kiO;3tyv;(PzvAhNZ5C-#aqNEaeq8K+@p)YA0da`_hM+6&0ns8A=S4&ty~m>~ z77-m%acqk?kQj??5wA)e?WH(xMa(_{6!ru#M> zP5;Ef>#A!l@ltf3@*TbX-g$Me5I<#cAO4QaImUlBzq_uU#F&52bY9X4x!+#)?o;}8 zV}8h#?sc+;eS2Qrr<8PK{<$glcKc5M(J3i5UOzW?tHaZEOpk3@Oio45owTkDY<&V- zAOD?FY|QI}c@6NkX&@>nnwF+UEtAU}Y~x2o{O5nqNI2O@`&W*T5#7Go?o+ythwfAU zx$)3F>mMBtOR>GjXZ@!}2#<#*?14?Y9(!ri-kJ05=*h_M&-x+bD!xKIA3w+V=_mVq zvO0X!_~y2-J&Q-?U8lzO8~?Xcd^Co?*`MxHp6wUgn&Llip*@49+|rM~uWLrJ?McVn zf6wtc{u}Aq!|=Q^Y2QNqAIa3ozlaP$}7k#*82ZCN_b z9J+G3&;0JNSPyyY`}Z^E*7SqUcDkR{bf5CQX9)l38O6Vfk3SDF_i5dy{G;>gULk(U zf7j=~c74Wg-6z|}#!vsQ{jIsDLC7e{K)_Jf9C#l zKcDYDrTh7O_bJ`8x=-nz)qP6$bN+vBO8hy0_p5*(GUY#crSRXQ?Z0+UVs3r$TO5C; zCnt18#@pbxuUX9Nck`-0ek+bY=a1h`<3IoVx6|0Qi8*e&Z&}@^blq|F^bT^X$kRGfi}L##g~S#*&Bd7#lf|uh)8F)V0zT7DeeQQd6$LJ%RYo zt+-zPcrY{O=S*Bf9T>*EncHP~By=Z>aAg{A4`Ys|jZigB`H-xxRD(39#6GKZ^~ZDn z&s%ei#m~1f?piy3D~td9-z~2Dw)2lpIoZ*zghrjN@RsW3U{e+YBUsMuEa zpSc1u_y6(NK|f^do$Oksd$oAdoQuiC&n14}Vs0;~xZ8Z!sj+q2eV-h^CpYgP@f!Y@ z+>OCqCO%$w-T8^X=hOW@)k*I@{lBa~-Fx1B%1M_6>*Qp2-cGiz%xWi%{;Sr{|GJJj zCjb9^j>_NNzxsJ%Yus}vkDa&H|Jwhqf&b(hSV?D-ATVlx>Gro znv>c{YNM#-Q5#Kd47IV;#!<_sHlEr9Y7?nVqBfb@6lznc6;L~k+B9mXQ!AuaL~S~? zVrnjGGpNm^Hj7#bwNh%csm-D0rZ$(_8Pv|CHjmnTYG+Y9n_3yQbEut5?L2A=s4b*+ zKD7&|d8jR-b|JNksFhP&OzmQ771X@cmQY(t?MKv>QCm*!5^9%H^HEzt?J{bYQ(H-G z6}2m!t+?Wff4pmsO4Fttt8?xA)swfm@TrglHI2dG7;ZK3ucwVzR| zq_&mXHfmMW9;WtlYQLbio!Sm+zohmEwQ6d+snt+>oZ6Gr_ELL_+Ha`UQhS=(Gt_=d zt&ZA0YR^*JPpzIBjaB;hti8wzB@3T($)?cQ;lCH23|jHRDal!_~}D4t2QtRqiCU4P+b0HZW~q+A+NyZz^ub^ma_|!1NAG@4)m9Oz*_> zPSi1Ij<2bm6m2ET?_M@AM}y}0SJk5OFU?t0eqXLdQ zdI6@pFx>^-jU{zabh7S3)Qu%|V@bFrVZ{oWohUR3iC`3Ozn zwc$lIFRJ;F!27`a!T7=W!T7=W!T7-hzy!bqzy!bqzy!bq!34ns!34ns z!34pCz=Xhrz=Xhrz=Xhr!Gytt!Gytt!Gys?z(l}Az(l}Az(l}QfvHmYJ>*qjs=!o% zsRC0CrW#B&m})T9V5-5?fT>aWUF9{1)=<>0)*xDoXf2|(h}I%ni|9exDpmR`Wgflt z7&G-Mzp1`n!qZo2OGaOtU}(J5hQ@ClH#B~Cx1sTyy)7DV>4r9U z$R3)`Bi5qvzQv;PmTp6q4Oupg-$`!Mcv)=7wIR!fEIUX$NIOWo#_#mDYy3NIcJOxa zcJL1H4)6|**OCLg1H41yy@~@_4rDoyx~|6Io7VIgypGT`=_i z!~$)#y*kl_3NEYx7Z?{9H>SJMb2paJji?*ZGDOP|Eu%ROPb#B1P9)3gtqhC@j0el& z0pkJVL9aX@Js`axz39Ieq!*+Yq!*+Yqz|MIHGLp`AblWxM7F9vkbaPU)bxY&gY<*+ zgY<(8fDE8!K;yTI2fzft1i%Er1W_#rCI}`7CI}{^z2F?190nQ2`V3QaPeK^c2&PA{ z#v)js5kw=1Rv}u2XchI=npj1>?MId?RDr1mQ;mLBgQ*5njhp|9otOr>SvJqq>$VRNIMlg+F z8o@MyX~KM)z%+qr0@DPhS>xZXZPxgAY(qE`Xrru-ls1ijZLN(+yV@p6exGqWqU{?0 z(pfvA?J~;0e%q|^dxkr}bf7{9=G6hF6Vp4XKX;{eq9>h*b|Px%JYPfSsG;+gXz09V z3?2IiL@hec*MjL5OmEis_jYZF+K^?V=w#i7s2$VoI{&tsUFRdF9gLlrN9Z$Gc7Sn! zae#4vae#4vae{Gzae{Gzae{Gz$p@1UCLc^bn0zq#U<$w#==>XM1z-xm6o4rJ;{xN- z`B>vZ)J0Ld>OwR`N0Uibw$or;)@F_0R@SWXZwkAS>(=>K)!dY|C&7)ZW{ux|TZU+v z&cCWwrt`0=m4PV(<3ZGesE3xK)#}lC>+pc_fboLy(sz{I!wbd>#*2P>L3%;@K>F}) z`at?X`at?X`at?Y`a$|Z`a$|Z`iX2+{U8G%1DJaNWB_CUWB_CUWDsN!WKiedK?{Nj zf(e2NfeB&0Auu5@Auu76QTR8SL->v65WO>z*F3*DF@#@gzMjsa)0FE~ej{T@;kPt~ z6n-CLm?}^18P@r?)xxM5rkX`Gg~wY2(Fo=nK{SGB1kox)s}QY1w2Gp%cS5up(P~7i z5v``^fu7Zf)*xDgXbqw@6m3;&5UoYD7SURre?6@hOfBYK3#J}SJ(zl(e>bfjOg)%- zFpXdu!8B5xR%;`eCY_JzjYJ018bLPcd`xfB`Iz2}tY&02Q{`4`GqRe&H-m2j(*~wZ z=ig0h1JjPmZA5-aQ+OS=qjEbccOa_+Ssj#hYOfAtbt0>Sdrnh0s}otB$TAH6jtm2P z8-sr(%`mXfF}VMR!Mp{G1&jrZ1q{7oh?dksv=EFfFs@TG6n`aAsTS?ZvE*QM{#HVzJ^@6-AY-)P<-EQ5T{viiU&>Q8%J)MBRwGDN29SglHL}Wr&s;{Oea`V9GG}GB6%6 z9xxt*fA`7*#skI!#tX&^#!GdqiC!>1e7{~IgK1unK77AEe7}BV`H|(P%GN|bvi#uv z-~(U+U;+mJ?o|LxfS51S0$_q*f?$HgY_7Bz(iX?TyTE29LD+Gmhg5;!fOus5UIawrA9k zeVpu)oU;;Y=`&p=!LHHN>bqIiOsCsJu^$^W9Xf#bNKMg;rgE5 zd71mvTSiUDJdVCK(^6Y|He=*BV;P%i8R@zS%h+bT;JhxgK>O9;TQVo>yRx=qmg-+Q zpUiAWRy)>JJF?o5)s8GCzsT$W(*dRfOb0Q05<0+i8h&R|pGIw-Gx?JCUggc95ldN$!_@9Ktf} z;sl#`&6(TRi7Y3woPxI+C$gN#a>}f=C?Y_6XiHdr-|o)k4C9YF=b{ zk>wS<6?nmW!F$1b!F$2`!27`a1aGrGFh1^KPahaR7(W<47(W<4F$a43!32o;Dm8%V z0h&Hp4`6x_(}RNV0tE%1(+0r=iFt%R^Ee5C34sZL34sZL34sZN34;lP34;lP34@7% ziGYcKiGYcKiGZmBQzdYZ1xyu~Dlk=Gs=-tXKBuilw3?!JwHnb*Bh|jU-xy7d`fa}& zB8yXN1mBUXA%@Ogz|>-TE!J2qD%2uci)cNf^@!FZT90TwqK$|)3cmZ-i0O@(epp+Z zcbC0M@GrGBiO+iPA7A$4(C3G;>c|cs)rjcp^m+B@HnQgr{Ftn6Q~FQV!+HJsAJb=zn$Z8aK0KS= zc182zx%02fH3|MpX-fkCwq2(Y&fDG3maua8%PF=5UZ1uEUgx$1oC_I4?aTYy5w$1a zz9^!0L>&pdbj}1`y8HzGUAg=O{*Af(1pa&H`~?1ux%>qFYv;q-lu@nyJB>&3KB2xn zaf&`5*;sAwGoY7|@0>EAAc6PEy^H~QXADTD{XhNtE{)%Inym4AO_Mc#gK4tH?rd25>M|2P1gABp~)J*Cp1~(H-ZvL@BU2I_${Bw8o$reMN4sx)s?_^ znOq5cm&ujDcbQzYM0?1Z%lmP^y#wZJe;xVTes1t?@a_b@zvNEf`%7+Qxsl~YRxXZ5 zxrTkz=L0$o)qY~YLR2V2g)&qqLxr*gzMoK*z*kIVs8fbIWvG*{U6DOA$CL1+b3u+5 zxnAUY6ZjsK7r9>KdJ}k`??nYKDtJ-Bhb$kK&WGtfOz$*4?$?mxN7Rp=_^~X0Fn-CX zb}csmCIBXYIR-Gt0LTEyAebO}6$BFm6GX3qAcG)7AVWmjv=GP;$Pma7$Pmad$S}w- z$S}w-$S{$uY8Ye$WCU}MfQ*2QfQ*2QfUE*pg_>1Z-YPIvV5-1WgQ-Tf>IA;yR1KyY zOf{HJgMJGow+5eUi0`4+U`t6>=M7ykaIxy{GogP?0{_Nh4Q1Ks*~j=kYiRoTk@V&) z)iwC8fy33)@tObHz7}@nuL>}`NFcvU2Fg7qYFg7qYFg7rDFm^EZMC`#3wIk|4)Pbl2xz0phWBG}^#vDZU zaX5&ath=$s@)LQDxv|FFSYvLiu>#a7K%D~ADL`%ka$ShJ5OpQ;5!scUhjLAiW^HAiW^HAiW^H zAblWxAblWxAblWxAblYHApIcyApIcyApIcyAOj!+AOj!+AOj!+AOj$SAcG)-AcG)- zAcG)-AVVNSAVVNSAVVNSAVVO-Aj2TTiG1!61{nq!1{nq!0T}@q0T}@q0T}@q0a*pI z3S?CxpQ}`XsUl|ez$#+sj0H?Jm})T9V5-4XgQ)>i1EvPi8jRtZL_W`~O{^N6+qWi> z&o*ll`K)`PzA2-1a6Lv#BSuRNRZAOEL)GX#CyBhzX~bx0O5}Y`QzCECO^LikH)CGS zm{&9A)r@&HV_waeOEao9qgosIHt=mk9usYeeC%sWz4YSDP^7LDg_(Rl7o)O4bz z6E&Sld}Mc`4^C8eqM8%c^1PEB- z(K1BKuoPuj>M}58U_4+vU_4+vG~eM#9-8k&vb>%>AiW^HAiY>RFGw#)FM8+&?*;Dz z?*s3{68XUU!27`a!27`a!TZ7cQQr^V58e;nPkj0yKk=<<0DJ&^0QCdl1Ks!iaVz&D|9 zP2iirH-T>g-vquHd^7lF@Xc7m%^;gWHiK*f*#@!=J!u2k2C@xg8_0H$?L>B@v?uXX zs&DU0b>DU0b>DU17ibYOXfb<5Vav{N7RmJvvxlHHl-aE?8NkO*om2}JHR-= zIFkA4l_QzYD;yvlLBKQKFEBK1t1GR z7Jw`OSpc#CWC2JQNEb*~GC$RFfpmd%fpmd%gLH#*C-bq@4aQB(>Va-z>}na9GB9Py z{0ys%qFF=BD7q)XgQy2lPclEl@+9*!EDsnD7%vzv7%vzv^}p5XP3Eo43(^bH2hs=9 zN8e+14c2 zs?}n?wWwB$3bm+E52hYWJ(zkh^~7WittVzrLL-<)FpXdu!8D;)&FEDl@mohW5`Um) z8+z4@UbUfDZRk}Sdex3HPC_n zcY^E$*$J{UnV*_xGN#SQ_MhdQdQg{v9Qg{s;DI-+hC?kdM zquNt=4ck(94ck+A4ck+A4ck+A4LeZNftn7~bfoZ;H3w=sP{)BfPLNKJPLR$Ne!k`e znUA>_VD3)JdTW%Evc61f*Lm&*m^=M82+h4+=ef7*Ja-prx=_=Fnl7q&YA+XRx>2(X zHC_kluYI;!9gPNWcem3VpO%ImHgC+8U^n&z)^n&z) z^kMFP%-u^_yYjr0_1j(ntWQ7Y9>DqxV0{L#K7*(kM9m;-22=R?T`-035(iWG>^+#m z=j}nvB}kRGjto-e13g2?4Iwv#+)xTX#S0-Tgsc#Ocj_aFjZixz*G^FHMEMDJqguds=-u)sRmO`OxloY zVnU(@ObwVCFg0Lmh)Ew*Lrkk$3#JxKEtpyw$#?6uAn7ypycWHx2U!oY9%Ma@&%5<{ zko6$zK{kSH1lb6(k!o5K8$r@%+9Dc>45l@KYy#N?vWaS16PrLbfouZV46+$yGstEd zpB1)dkj+HCHL96NdZrAr4P+b0HX=9M+Ca7uIW(`0$f92DAlpH;TyTvIArX$PSPlL~b3~LF9p+ogh0wc4DN}CXE@jVQeRjy}NZI^^DvH#u}*u z$#x>Q6V+-H$B+6IP2n-wiP6Re+-XVW=NFb#&a$NP zNVcSMmL-+5cF^;$jBz{Eqq*5+-_060Zm(){4jWfQPu50_n@`W__<7vVhV<=eLwy_7 zxAwHB@)I#zDv#d!Bz`Vt!yHTXt1>PbXQTR$4zW@F)C32z9LREjaiCWYFb*(IFitQ| zFitS}G?%f-?THs>93ST-K7EjrczT))z5sjy_yX_+SgryrmkW#wj0=nlj0<&K#L$yv zFm5nzFm5pJR36)8X(`<3VHwCWkYymtK$fNQ*e(NE2GRr41JVP=L)EN_9%RvH8r2>m z=_xZvFGw#)FIA)G(ICAby&!!ceIR`xePDd4JhqdK2^llT`-p#Ql#lo?)BNE5;QiqJ z;QhpJ27k|ZKk-BJ{KOaa3V;uQ52W&bFObUPFo3K8Dg-co0vJC5%1s**pxlrMA~%TK zAow8oAVysfSwUn4krhN%2w5Ryg^(3ORwxzEyNNvR3~}FjhCzlwhCzlwhCzmj+&VH$ z2|x z3IlWPlRCh6fbRs~3BD72C-_dupFw;l_)hSK1!p4`UK@r5*EkmLk6|%;Xzyd6WLUUA zhK2iM0dE0s0dE0sv+#PhSor>%-NMg|92S0NWV7(o`L@(C_6sIkP{)EgPSkOtjuUm9 z7CaM7eag0FvXjWw1D!8y!TlgMw0RPgsJ@FCSpC-F3{C&AC{C(w9mOdq) zvS=%|@b^`Q+%n{rVJ>AB-usn-ECcBQ;{oFV;{ns2xFYjUlRY3kAiY>dujRAeYp3{- znAL0zDZ9E zy%v7&as*`9!cPf(mP>kNO`WW-$Q&}&ho1P*lPa0Dm!9-_E&P7wDhog9tH$(d>fs)H z4SHBZJ$yN(2J5Xo@u=%rH9ug4NKqPI=xXRT#AEnTgJ z-<(`)d7PH3*23>iuE(;pC*GdruHGm7A&ZtNq(hxs58HV{NnW{k=8|-|K6$ z@Lj(4#I?5B1?`qv=Zb<3`ZljG=)||#M%BUvZB%VfLMOgW!-}zL5Un%#^C#82oPR=y|W zu=3TS)5=fl9H{R=9S7>S;$VYBIa`TZ}fZPJ)7Fc;Hq8gp2hxWMKH{^6 z`oR0a`@#Fc`@#Fc`@#E(r~7`y(|tei0q_At1L#ixSpj6VCoal7by@(u3Lq}J>}1#?*izW}unS=q!!Czi z1-lk@1MDW)t*|>`_rg90dl>cz>@nC+VO0&ig3W>*3_Aw)G}yUhHD#gpD_R?i=yMYN z4H>VWCHTAw_DW2-hCb7pfxRAfBkU&FEwB&6?u2~|_G#GXU|)oN1@;K+G1yOGRUN&B z&4L{aI|lYN*izVYU>C!#fV~FxM%X)Hx4`az-Ah)Z-)-e(JV>9D=r>Mz84u(05!hBt zd51oyDurI$6uhKk@Od)qX_!((pVO7)uvfxf z4|^x78ulRUE3ogtehRB5 za!o7jT-ZghD`3~cZiL+ey94$y*ymthfo+BT5cUMDNJ3@UY}j1b;jklN$HPvBErOi^ zI~R67>_XT@uuEXKz&;GS6ZUD?=U`uiJq-H>>=D>^V2{Bbhy4`x1gx6Oy-kMg1)B@I z1oleU8(}xWJ`DR9>^|5RVUNIm2>S)BNa4yEu-UMKVaLNxhAo1f0Xr9VKI}r+MX*a? zm&2}ty%KgU>_*rfuzO(l!tR4T2zwaz4cJ!LW3b0zzkn5~+}mET*|5W5$HNxE&V^kF zy99O>>{{3ju$y4F!tR9K3;P`GD`e?iQ>na{c!xeGDaTTI+xZZmzkoe~DXNA0Qv^F7 zb}{TK*y~~MgxvzW19mU$LD*MdTVYSYs#Yu`Y%c6@*fFq^VT)i(Vdujxgk21~9Cj7# zTG$P+n_#!X?u6Y7`yA|H*dwsVU_XUbdvJfOuvxH!VaLFp20NE59Xop9*g>D^*wF*W z4t!n(dnKk^L!Z-?4P-TC6Y-j|2X-&)i?FYdO;=X*Wb#VbwXiqBZiL+gy9M@P*qyMC z!9ERp5cU<=R@e_=zkn5KSkJK8u)|@;!xq8LgC0{aGRE9^V4AHp7o{Q~v`tmwrxlVN+o4u%~GJ05lh z>~h#uup3}E!R~<)QhFRUiz)l?~}e&dexBi z$Zu1g3*<^&B>iIPua|zS^!uc5m7ac!7R#ecKS=sw=_{mPFa0*@_e+0NdOg9cGf4Vk z=_{mPFa0*@_e+0NdOcC*OJ6K~h4kyC-zNQj>5odUC&_&2i>0rSe!cYDq~9<7QR($$ znJ;~@^cB*tmwub{`=viBy`CcTr7xDgLi+X6ZZU8YFeG^cB*tmwub{b>vqomz}j=>K5o{&N?bJy-bGU zJtz*EuY+DtwqEK==v`&oq^^TD&e<<@3-r0?9F>|b zU}^r_&(XkGF@y?=&026q9v-=zDOsJ@d7>R!a-6OLI*D_mbyav_0q4Scb~3S4qaFW z-}j<&dS~2fW${Io@H;Q6ga6{97WkRv>#{k1cX=iJJLPro6BoC@-@aJs&+&H`=fF?7 zxDY;kap3@--g5CecxOcm{F;hFdUw}qrM{vZKFzxh-s7!=-{Gx;|IFJ0U%aGzkhz@e zq_32|u4}r3>)o-W4*snrIfGfBy0jer%B7X?&n|6&@A0FYAsk=yqjLD_A63Ht?ME%} z^Oh+?IUZS74*&kLO8CjkbB6Ks+m;u?w=J(6VfL#|`bsCqPrIZA{+3G$N3wqDl6CM| zm)601FQwOB(ez!H7Q%mZ={oolUmg5?K6)h<#ozZ8!jE0C4nDA=4*rD|g`+v%@3M0E zD=w=WYo714NKdcO!ud~*^o7!wOTSL~O6lvQZ;?JH-(0Rj>C2^GCw-;#bzSlC^81m# zQu;dSTcoGgd70x?`a)-3DT?pU9 zUk-nne;xeG{z~}CSJuHlaAga;epTV=oVVzzb@0EwsuDi&>N<1!)rEx|fAs2g@Cj=Q zi&>w)W*z+QHFfax5*rs!_gqs6|Lbd7;FGV-nZeV`uPujv;@WlaJ+5nkUveG2mW|?1 zUzY=)5h#RT5ojTQH=n1>GJU!9mD0CJpHm{^(pO5~B7IJ&j7wiBeT(!tvt?ZRO6gmq z&zU3R(pO5~B7Kfq#-*>6zD4?+xiT(&rSvV*=bRzq(pO5~B7M%8GA@0k^exio%#(5H zE2VFdK4-p+OJ6B{i}X2X$++~D(zi&TbGD32UnzZy^f_fRE`6o+Ez;+lBjeInO5Y-V z&bcx!eWmm*(&wBf6zD4?+Wir0p^p%%LeW~eld{RqaDSeCdIV)sb`bz0rq|dob#-*>6zD4?+ z%guO;@~JXSy;R+-KB;!9qqKS2725sUv)Tt*x_+j9o&L1`j-F`b8S{;6j0cSU#{U=t z#57SMw$ZP-_D`6Vuq+{%@La-&2@?{%iFJu@Ct8zcC0(9$Z_;m*-b+eOo|$}E@;%A* z$)6)?2LmtS7AFdMxho z(;iRvc&A5tPkYaEd;X;7FM782Oimk{c0t+$X}?SB(d*n^xA%IdS4R5M^gZdd>BrL3 zdr#^8quxL5{bcXf-hFMeYysP&wzq9L8FMpk$apE^-Hi5(ftdxFOEM2-X7yRnXLFy! zea7~^pzl+CkM$jv^-|W?S6BBf9}`YKGj}fclE!r z|NZ^*2i!7X_kcqK`sS?6c`)bAoKtd3a<9s*%6%zU88~ddat@1Q6?T%>&rhPGO#OVgT2U*ZtQIpA9$@U`Kn=V;1>C-86$<GyJC6rq{myY)R*j9|3MK&kfP4>y5^T|FvhY4nSQc5+Q{XU z)t-6T|3ln+$2VDa|KnFiHw_(>SxOm&meSHf*|Q800Rb6`fF*4M1iEZmpor2|RNQ+# zZbd~!K}AJHMMZHh9JsfS3-=cF_derJ?j)_x=l9naURTa}zt6e$yhl=e-q|^T&qaNk zm^m@1-;~`7eNNvq@!5|*C-x*}AD8NjJ{LjXT1cNM-Km^~1Fpj7k*x2@Cf+-U;y&4p zVlCnnCJiP}`J{B5sJRQj8`~AF<1`~p96m>(m7Hc7&W`vSqxf{1RcJH(t#^Dn@tdO^ zp`VCPCw}uY75eq~begx&st)}5_jKqVpiS}DCGhDqUm^#G`3j#-^BbN5JIwF+bebNH z9?&!KiN8eb=m|XwpH8#D(F>mo9lh~+rlT)DuXE(UdObd!<_5o#qxt0rXq(=`^=F21DP5Pp7%vQ4IYKd^*i`$57}y@QM55j$zR6!l%>R z?HB=lCqA9#9>*x?_u|uO?sJTRz6+mDbH8I8^at?iG!Hr^K;Ml|r+LUx3jJYxI?W@F z$1=(A7U{l^b&I= z^b&J5^kL>&=)=tQ(1)8X(1)9wppP(Hp^q@PLLX_iK_6-EfIiCXfIiCH1%0&H34OG= z7y1~p3;G!I0Q9kDH}tXQVd&$`9_ZuDW6;OrH&1%w^GWCv%u~=Om}j6*G|xewXkLI` zYF>g~YF>dp$-D}El6f8aWOD%eWb+pEDdrvMQ_OqNrTug6# zI%E3cw}#!&k2JB+XPbEFvrQuOIi>^jImQEhu1SGD*Q7x|%5;K$l<5q8p6LpGp6L#K zzR83>-(*2wV6vevFnypeH2t72H2t9;ZE~R>Z3aR=#tedfj46b^$P__eWQIUL)|5a$ z)(nTf*o=g}*o=n0#EgZ$#Egf&)J%lF)J%eYoS6dsICB{EGIKceGIIp9YM}c~9dy5`hrY@*Kwo9nKwoXvL0@gwL$5L$pjVlbpjVq_=+&kbdX3ox zy~dmhz1D1oUTe;PUT4mNUT4mMe!Mvk`tjxh==J!^^1bnS3G{%u40-^6!@aL*z+YtV zjnAv0H=1jqH=66AuQ6MouQ4}4Uu(8PUu$lKzRqlezRuhMy~*r=-em5AzTWJFzTVsm z{RFcM`U&O%=y-b%`Udkb^b^e<=qH-Tpr2&+LO;no34Nn^3i?L#4D@F69Q0=M0`wO1 z67&}H3iMX|(nW84z7G9la{&6u<}K)(%sbFGnfIWdVm^R=iunlospb>tr<%{8pJqOX zewz6b`eySr^v&iQ=%<_Spr3AjfPRMg3Hll47wBi2-=Lpq{(yd#IRyPI^EdRfjfw4z zPiJgj{MNJ^`Z*>R`ne_^`ne_%`g!1N~yt z5BephKlDpXF7!*yK)#h;M*O()qUt?xMzt$WH{aP~z`gP_g=+~L~&~GqH zpxIs3i{2a3i{2a2KrW02YsulhklD`fPRZv z1N~OB4*IQTJ@nhm2I#k$lb~-i&Cs`*R_Hs-MbLMcOQ7#GTcPhXw?euE$L4U-&1N{;69`rrt1L%9qN6;TNpFn@qdtf<95t&tasex zc*^k-egSv9bD49KbDQ&3=OJf*SE0-2I@7hq^`h%%S2yvLtL-;Me!~1x5U33|7(1= zg#3hK5}FfkO*oJcn^=-qo_J2;y@}5yewo-WX<5?dq=%9|P3qiXe1|}XD>^*h;j0dP zlB<&cll)q8s%M&~(Q||6MbEFE!5#e_&+qtf#~(Xprc6z#OWBaJBjufxA5(g#j!Ipf zdUNXCsfSVrrM;MTD6L=m-1MgO>(if2|0Uhosi4!MPUm)ds?(pHMr2fGT$^!6#@>wQ zGQQ9FJ7ad|<2!%cIloJ3m)b73b$PVQCtbRCo!Ygo>x*6g>^i2~1Kqyp*13CW_Y=F{ z-u<=ie|694F{?*okN@;|t;b(Iax!OSUY)r+^RvuOJ@b2x>^ZOJ=&X5Jo3eIi?ag{F zYih6m^!ljRpzJx>o3eLgf1O>}dr9vzdhhD}S?{zyqx&rBb9tY8`n=HR$3B1dN$NYW z@1(xR_O0)GPTyPmKH2w=zRrFf`iM^xx2bOaI&Y@9zIvf9HS>1JVWz9WZ;qx&fCB*frp#0iO>@ z&dtl6n(NIyG56x!+jF1J{WLcwFDI`!Z&cobyvDqX^X|-hH}9{!fdda4SU&Kif%gvl zZeWM}-25r|%knqm-;)1C{)hRAg9Z*dV$iBVXAHV&(1Af84fRq4l8IbIHTa= zf;$R6EpQZO70xYOT3A`wSa?CF;K_r}9DM2E>jytL_=CZYqLQMy zMJE;QEc&#_QJhsgtGK54n&Rh+4;7CXvT?|TLw*`Ecj)4w+lPKI^vj{cN>-JeT5?0l z>-ceuvBS<9c5s+y_|)NN55H^p@57Tv3>Z-|V)KZLMjRMnMs^xmJo2oOTSx94*>_aI zs8OSi7W5K(j2ba|!RWx~hetm(`lZqDjsAUf?3k1>i^f!pIdROEF>j9f zc+6L0GR96E>l?dn?3rWtk3BTjJuZ1%$+(H*P8zp++${{Y?uY$Soe4ptpaqZ>%qK&e2ED$T zTwIS(D-m}=ce2r6&d5U;h>(v!e?g-Fp%7s(LJ>kS!VrX^2qg%^5QZa+Kp2TYS5>1C z#vqJE7>6((VFJQLgi?e_2$K<}AWTI#3}G6=;Rw?ajzE}!FcV=G!jTBG5#}JwMK}s! z9>RQt1qcffjz%~JVG+Wy2#XPxAS}hz+;IqH2+I(>2;~SB2$cvvgyje;5LP1i5$HOQ zt^%tNsu5}sY7y!Xjz_3R2;ge40ih9L4Z>Q4bqGxe>k&>s*nn^%!bu1l5t8age|DS=K0bSj|J z0G$G8_orQ-c6-|8X?Lexopy8D#e3sQwhwmjKG?bYV8`x*ow^Tp=swte`d~-ygPoZ6 zVcLKD;;&HjHFqFvN7#XIC&FC_cO&dH{meZG_afYfunYGT?nih4;X#Dm2oE7VjPMA; z9)w2`9z%E>VJ`yxbD7NrBx4|HHpG}*%v^)3bm0?}Pf$KdagyR>#mS02DmyCQQE{r` zRK@9v(}A7HFWppjp?oux&rm)?`7X+LQND}vT{XRKYVW4@ZfftY_8w~Qq4pkX&s2L) zwf9tePqk;My_ed1slAulv(=7sE4Lr6pSeD`?%?|LQ9DkzZ11bMpUNENa}*CyJOG&5 zWq_uWr+l9BdCKQ2pRe%?6c;ESs(7g4VTy+-9%Qn63{ zeCp>@e!2QBSG+>~R;b?!YYSH3~{MwM&SzDDh9m0zcFz1r8S{RHJVs60{S zN$Pi!`fXIcS!IjLR`qLDzmt{Ur1BJ%r>ftn>UWy*n^m5!@(lGmL;cQF9>0yw?SWrS z=lOEB^5-ajj`HU!f1dK^fv53wo~}RVtNjACU!e92)PAAbFH-wOYQISB7pwgem6xi# zOy%W}v@cz*^XNZ{|D*A*P<(~juT*@c+OJZ4mD;aXe6`xIQGAWsuT^}l+OGpf_Smyl{c&03Q6VPs_l6TV>kBt6Zm|1tJ-f>`)z8!P3_y%zD?V0o92JJ z`r)s1aXNRX-yQ0Ahx%<-zwPR`L;ZHB-wyS=Q~5h}p53YbcPW3D`roDgcPoFl`robo zJC)z5{yWwG9`MwT_p1F~*a_dK{4V8pDSyA>`xQR`N$vQ6`ah`l2i3k??Yq_fklG(o z`@?E~SnZFf{SmeAQTraXKc@IG#rSn~&VR4sCp7*O8vjYPKdJV8DxXsRDaB7~yr(tZ zGirZE?a!)wPWk5)KdV8?}F{_HWhxo!Y-s`}b=9UhO}q{Rg%GsP-S#{*&5&0#E()ldfw& ztKZM+_lx@dqJF=q->>TTtNQ(>e!qdI`v0N$55KChgtnzV+;}pj$j#r$Z@e-9! zR6a>@lHv}EJ19=pcpl|F%6C-UQE`gm6ve3;FHQM0@YG*v4mp>mE1$0ZofLOczfS6x zq3Lv1duR3UqPUCVu8O-V?#|e4x;x~2*j@QdNiIH#wtHn{l+OCr+(wqZ@lv3)o+603FX~5L)hbw=$^3#<+Lir<W*aKUVRvYG15)vD%j?UZVD;ikGVWIK{`Qy$qPzcbW3bl=muMu6()j6^bh~y-LNE zYWFGjseQTPq$IIG{KHO!GUS^=eSQLHP#d8zd`vEl|NDW6O}(n`ID4CN%@V+Z&ZGx^3BRO zE8nbqi}EeXw-U%Ac(K$>6Epn-p(SKm582-&Z?D`BT*IRK=$%K27my8t*iX zw^{kk>UX;0)79^E^*dAfGu7{G#b+x%SMj-u&sTiD;tLgDsQ6;V7c0J0@ui9{SA4nR zD->U$_$tL$DZWPWHHxoOe4XMO6yKouM#VQOzFG0jif>VTi{jf9-=_F>VCs+UD(_Tz zx61ofKB)2`m5-==LghY{Ppf=Z>-Pe^>dZ%D*7#eEFA-gMSqNquAjTyTd8t(52X=I7V@d;yA@|iW3wkC{9wGq&OLv z+PS03RJEt7Jza6S;tcicqOzOH9x8jP?4`1|%DyUdR1Q#?r!rqL;2%0(&{t6ZwGOr=+4g-V~w6_C_lE1Ys}_AB-)Uafew;%dd! zife(Xy^mKJP}!(*EhIhJTQ-P%Kgrb%C{)rqI`?; zCxfT*oTBnHm8YvbQ{~wz&xNG=pR42He8uN0zEJUniZ51tvEoY=U#j?W#g{9-Lh%)f zuTp%K;%k7Zyw|C`LG3rF{YJ$%D!y6$Zc%xk%KKG5r1DXfkE?tZlIr=aQ}%`D6+f@| zMa3^Fep&I$iuWttulO~^uPJ^*@f(WYRQ#smw-vvw_+7>CDt=$_`-(qQ{GsBH6@RSw zQ^lVu{;%TyD*i(87r=Dx_(I3)SIU2-{8!2!RQ{my2bKR;`EQl~R{8Ih{~kQ`-;aua zRQ$8zpB4YA_*cchGj^NbF>a}RzbpTz@_#D-r}BR(|CjQADgTf1|0w^D@(!2ux5Fj# z#^I9Z1P+&!*QIus+FfdQsXa#RF^c09$0<%woS-;KagyR>U}~3+%6C*gRpkxJ-=O$L z#WyOxS@F$^Z&7@U;@cG8rucTnw=3SRc)Q{|72m1&ZpC*izDMyritkf=pW^!!->>*V z#SbceNby68A5r{>;zt!f3QYa|s7uz{$CZCv`Nx%iLis0@e?s|v%I{NtpYl&D|1@}N z_h%J9tN3}v&ntdW@r#OIR{XM#hnICcysY;9YTvK+{c7K@_Se+@n&LMUzoGa|#%}W_ z;!*wIRQ_${-&X!@<=<8QUFF|Z{(a@&SN?tFKW5&Tj}?Ea_*2FIRs3JYUnu@U@mGq! zQhZSHLB-!H{#Nmiihor6v*Mo>|El;`#lI{5UGbla|5W^!;=dICqxc`i4!6!{xAbp} z;uytoisKX~C{9qEq&P`&vf^aLsftq-rz=iZoS`^FaTmp16n9hH%`M})r{bQlQ-AkV zzL)a7l<%c{Z{>R{-`g$c!@kP*RlcwCIm+iKpQHQ$RerMala-&W{8Z(qDnC{EY06Jiewy+#l%D~f+I5!VS&C;Xo~?MU;<<|F zDV_&R^_i#XE>M1f@(YwdTKS`uKU(=k$}duWk@Aa`U#$FM<(DeIRQaXKmnmPSe3|lI z<-N*#m9J2~0zB2h2j+&Z-vJ5EALm{ul#D|SA)kd@8DZ2^Bl46r3jVK&qlbz zkqDd!>@{CFesEPfenIe>eon7B3}L17CsT=|btP;|!Jp&&h2_1ly@wF%`Wx6FjqPTt zYrCm+J#FqrcoX3-gud>l%`}8+g!2*ZLpX?#9y12tHyC4%jwy3oj<7doBmTbPM#q@g z6xY(&L5_{F4Q6BPcE|m(!zpdYhq0qs_KF+tE{NOiSctGGZVL4A4#EfGW}=MS9e>2l zft>Gl$8UFxi9Z%{3F{TWXU2QY-3V_Z{DaUtVI^$K5ms^B@`Rb3#~BH8Am?*F_a+<* zxrFsk61F?i61`?3LJh)Y2zwHj!?qG(72=FBhZ1Amo}@8mL{cK;4=zuV*Q`qVh2=HS z_aS_n^f$19eY?r-@U&Tga3aEu2+t$LC8MvBt6fz8HOVu{&#^6e4&;3IuH@~GZly3-$qBE<5tL95w<(7=y(TYnd7yN zcR_m1Umfp--00|^@&L=(DGx)=aG#y>m}^(^4EOGoCn5cAXX**=BT}D%?FF{4O?}IC zO6ukA=ThH;e984z>MICkj)b%_$N028&W*AA+#6%}yKhU|4gE2MjgEKIwqVR`bi}4_ zg}fDEyQ47u4#+ac;`F;9z2@Zfdm%SEwxvJ7^0oAbAxFg|c6!WJ5H~7jRHr8){qDL> z&wxL{eRHQ5AZNH=?erG-%iVDq??Jxg%E)*Hq0CW=uqGo7edK{(8v45v^o@>1oxg}# z8rvEAS1}u755_#*d86ZC=ii}k$KRSOb2N2HjoldQHTQJc==i2fek|E%cO3^gDrQ61 zEcE+~*ju|EjJdn(sF=6AW&-=&G2K#-o)7U(a8K3)sj*9Ax10OAKW*Mei0kpR8H{i=!p0tB%$6Qr z^FBgcrq>KcI65;wZe#2)gmH16o-^W>I%dT!MSE|Iod@ZQOU+sV+ZeMns{_h3#+;LN zDex5tS0VV~=J)D~{I@%{^xE$D8ewGipKLWqkC_6tVFn^ zx7X}N_yHlakJn7;<909abAJ5Ekk>(O?Gw-V5lF(X_xZ_nU7vmN-TVH=a!B7lSRT>$ z2Sa>$U;O=f$PKWQybN}dJNq7D`BLAH;9ro?x8Fy=1qr47J^`MWunBTGz@cdIq~rRgTNPq8F07z&}`44Lrnh^T3ZF3lg3j_zC2^gg*v;#mWh~bW zs)YZ(_=^UWv)nQ0dZhPN2WP=eEPEAfgY+fNDcAwoGx>pnosj$Dzb)9s_N2nyEOQI@ zxDMuflTR$%%kt{Nr@)_?{8{01kT)k64L;zSJ=mLk%;0w*UrydP_*L*dlfNANI?JS@ z>$#7|7v02ianUwNU*hJX9gxY14;Sr(M7~A4*q&6pn`LhC9@pXl-sDBads(h8ehU1V z$+r|g2YGYy8^s5}f7Ky=$UBfdlP3>JPTYg=_mJ;BzM-AbM_*y={p{H|bWGx@2=@>5 zCE};C6DO4Hi*G3D1bcog+0H8&$MW`)EcEk?*pEtn_Iy?1P5z-I6WE)aJ}d>k$9LSH zb7peouolRhlkXjtocJq3*WsPrUzN;=ojd$z5Ay49>~L42Z)nft%ZC>v%pLJ@$JP-A z3EM}^i2HEFrE#B+n3u3*F0pa*j=f~eXDvife^5}i>r3huC^W*mC3_}r1>EA$#1g z)WgU55@#Wtf$%-TvEzM->k;lk_;mcf_|6md#m_{jLfAaPfw#?__~y0?-`I9TkAWTw zJq|J+G66CXG6`?vcYvM@-2>SXG6gafG940s8XDgL?~b>|v+#Z7A<(*;9?*M2&w}0y zpY*-gKG6F@&w<__`T*#8&<8@#hh6}^5c*)~MbL|(Qwl>NOCX0sj({8mIT~^dlknN_xZcyef})^4j+AY5AXAL$NT(Q zc%OeX-sc~W_W~#3eg4sSmw!Co<)4K2{6?Ewpx+ApHuTIk;M*bZ0Jk074(NA+y9@Ge za67@>1N~mq_&&&8;O+BuR*>6`6lGskncji5BVYF$B>^weg^qDe`33rK(Eot`C-lFd{{!7PCK;z=xQTI$H?h#;p(jD_ z0Nn$srVIG4z}6fb8@M-cAK<>g z{UCE7`$Gm=!0P^f~^>M2=GwYN}vyeJ{-0Yu#E&B1w0zI zG0?|C9|zlb*d_o^1TKYb67B*fxZ;_anQ@4FN5xdUJktidL?up%Ca0~SpmEf*blr4cr|bpa5ZoZ za4m2h@bSR)zyaU};6~szz-xim0XG4!2R;FK1Mo?}8-bgFTYygn-UNIK@TtJ3L2iaT z9r6swvrx9Pp`Qc&Jougu-wS{*1ilEii=kfv{ZiO2gY9zk`+v~ySHN~9^sAs>4cj%a zT?>32@b$3W0DTMe8)3T%wwr;s0^b7Ltr(JMa$J?u339^qsKX1KYj8 z_W|Dz+XK)aguWZLhhTdc_z~bej^+4Wg;n@fh2{7)g;n@11PdV!FTMFaNGti$! zoaYedd2la4e-Zjiu)Pf1E5Q4KUj=>*_;vWa0sR2Fd*B~{e**p)_!r<`fqw`71Ncwi zL%@Fn{{w8C-HpSUWn9kj#_gPBVt`|Tw!-I-T-_O@J8Sk;8x&Gz^4G82D};g z4B#_?&jvmR_&nhAfiDEU2>4>)OMou}z8v^Jz*hiY349gsHNe*bUk7|W@D|7$A#Z}b z8FDM+Es(cD-Uhi1@^;8OAh$#AfV>m(F37tfcS7C+c`xLBkh>u7hkO9?LCD>Z4?#W* z`3U45$VVX`gM1uvFXR)DPdbO2eF#q>JdN-S!m|j^Av}-p0>X<3FCn~)@Cw3ygjW$> zLwFtG4TJ*-Zz8;f@HWCb2=5}ihwwha2M8Y`e1z~Z!lwxTMfd{YD};jx-y(dE@FT)c z2tOnIitsza9|(UU976aD;ctY05R7ZMaUeJmTnKK27=&1aID~kF1cXF{B!mtK$p{{V zjtD6TsR(HZ=?I+=G7vf=bV2Bf&<&vnLQjNV2)z;dAoNA(hmeCX03i<{AE5xD2w^Bf z3BoXh;RquTMk0(t7=thlVFE%a!eoT02-6UzBOHM+17Q}zY=k)o3tcz|x^NDJTm*S6 zLvDgR1@ctL(;zpy`j|6Z{mq$>XG5L?c^>5X zkQYK;_rGZ-Ct5!dVddP0+VO-U4|ms~hWrKcSIFNWe~0`7@=wS^ zkbgn`4fzkGabq8HXBj7?3(^f40~re$2N@5U0GSAx1la*H8PWsU5i$ib6*3Jn9kLT- z24rW*E|6UzyFqq`>;ahx*%LAgvKM4FWN*lRkU5Y8AafxHLgqsjKo&w4K^8*}g)D&_ z200vZ1msA_(U4;x$3c#VoCsM8ISFzyi*mqB_V%ONWuDD)^R%rJ%`#-2sHymD5j(r)Kz*LeDq!W0SON zc+uE^acpk{E1gMA(?h8j4+}M=-C1~PnfbnTGNXcJ8p5$6D#F~qRfHWR$-}*YmA=Y| zuC^5=tTx5Nsf7{%=U@8fTXm16XwM#IOJ!sOcOa(|7lGP=J?tTfPq{+eKIhm7Pg z%JZ+S9ua#Rt;F%#7J@D=ekX9tPj-I z&#P^$uke99vazblTV6%#^r5I=<1{pkQ)s&2s;W#(K1$H?X>Nt=Df^rq6Bk z)i+sjX4TfLs10K#c>_LXkMh;k2K)`R^-X0`PRg+@tMqt#Rv9R;Qb8cZo4bEjZKbaY z)YNr#^}ayBUt2?oOs=h}@>Mh_;-Z96NBO*1396dHNGahI-*SJAU!xx8uWInshf$pC z3|~_qjHR_IjNoRc;?D9ltgNk^)ab9O^wpzmk-3B{k(q@oZR8m;hG!k(r*pNXk-RnD z6`XspCmGoX2Q{0H1@sq?rW7EEjn5-xmA$KEfIvFG`Y$f2;jg)<%**mu;*fh-DTmn% z_EL^yJ~CSz(b_IekY(N5m*#i*$B-2RL?-mJe@Ao59|c!`tDRmH}sXXS%)N)=pA54hBaJ+ueq=lRDCViXSc&dFrvFD-w90Lqe}|DNdRC8QK4Jzjhpx3(hdIf;t@96? z+gRh6Z=+?4i-w1~$KGoe-QKXmITaO&ZXMyHD_Fw*?H63^ZIo~%M~qHz6!X+iwv^jH z!LgJ5l8}iuT8jBL%28Z2LR+fcCb1l%j_zz|Bh8U)pgOP;eS#F4uhQ*<0H<6uzV1nO z!%#M0$h5iWidFic{gx`R(y(v8%-Nfdi8h)KC*?K=IL^Z0BbN*!`5ZjNOrKU?+gOLI zX`=kTs!H2wjhGs~G7Mf6)zJYk0N?3k(vuF*?0THye3fBj@PL96plzb|1e_U$2AeZ% zb;X$hmNt40_XmOodj}L34G9^-lENK;c47<-8Ny-|7nOu8_DpPaM1)~&N5G{q@}{as z9*S_G3QHR!3G=wk;tp?*Z`&Q0i)|)TJd*gfIwNF>Dl5lntE_fISc_nyw3+?z_V`h4 z`;Q`iel3o-!%M8=EtJUd&&OMJ7*Q7HAjey_nX$MgYOL~&#{s&!ywYn{=*XX3@5jZA z-%F=KGp{Mo;HxeST>u3Nr}=7Nt}tk};2ut(tp$nr@a@Ogb{B)|zAA4;@Ya@I^jL#T zuit_&e3>`2P6cfd{XzK#ZPRN4zWNZ1oWy(rrwCy)k_mg?6Jf1I1}BDKw9u^qa*0~< z44*HpD7`=^Ea-U25B-Qz~bg5*|LC-AOB$0cr(ruh1)za2+g&UBI zD;fRUimb_mUzboT=nXkzEy~or!LhIX8Nv}G)o8DU9Hgs4c!jT_3@PHSUc-Wh3KIy2 zWSw5gEX3?`x;BDBy+EHBrnvk((zjMP8mxvdAE%V-7!KWcD4c@(8Ko5!xHnKpmzq=$ zBh3s^Q(5JkwO=LbdzI2O~AVxV;6f^9o@jLG+drQ2qWuhjs8kApLY`8ceEzs zSC^Gd@>Z5Go7gUfP^cA&fb(JVDY zId07SyEQuAygF}vppEnv)cB8YY=fWFSg{(520ciKY7E>`s*(FL^BU^WM$sOatI^~_ zUp?K~i8jouTZ!$M$9lUy!Li-02kssD>wTrmu{uU)G0EQ$h-N2O`El&EOGFaN5xdR@#7(U*6c@3vIoe z5=;>c4xYYsY^$L>k&SOYn!{*2YE$UGYmEeKj+{&IBnuqeU#)dnok#@tP;66tvs~{O z&uc(-v%D26asS-R!+f@5jJ1%FZ-7ucnxknl>PkGRa7w)&OBhZV;1&eOu9@tuYrs9_ z|I>m^w+xNmKqZx0TGn#0(2Zy5F~;`JFmn6T>Kju{zCnb>4(c*|rE_Ji<4#od|FW;h z0iH*Ps%_ou)H~p&k)QhgpXx6=cbm6P%hVRU8*2`4!eU5I%5c6bE-T|c`ak6&!=vq7 z)W%21>6L-`bhjN_qVe1GNrBoL+^n<4H4UUXf0eJ^+Nf=&pwof?wzwd|2rX}1v4Yl& z5LX%q_^QjRn&$f(>~#1fvAg4`wtbX_O!K|<7#fGwV-{i2TpcnZtOzYK#xhK{)Rl$uL_X#IDu08`I;jc$ zKc8nk4|&lrqpV}Lp#c$M^{j2y(Cu=WBz$t*;2sgj;157>=2sHrJ*tTuG@ zGpWf=$d!{eQlWM;TcMO%cloblJxH8xBS%&4hd zTQk3Ql27S6ZdWU(&=d<4%Hf-zvhluBRfVRst5Kpi+j5r0f!LEo-Wxihi zp(o|$gALcolP)q@=NR8|eOAjCuA#wa_?Dd=+mA?54^nkw#Yt74-UM*3Lh`DK^r|853#6m2w2fWjLd;ag|yxoES2c08o9Yh8-eyRs~D(s zLQGgR2N=qIAYx#?s*+D}<7f93K zUF|!vkuo;{WUQ)AWV$wnp_JYYi+XI06GcN=S-CvJ=82}U_{vL;$w-uDCm*xQ!}zl5 zHpuz43+n2SAdiz3IZus9ZFMY3>kHgT4i9o8ium)njp$0FZ* zK(Ww;e0M<0ED!6=a(+R;OszrR8(b})=J)-=iwwLgznHmg62&KSZ=5g zy~$w>Q`>fgR=_oEz_M67qje6P=c`}i#|;=g*}hSj>08ZfG@lP!PcayR)_?7k>WM0FnDgUyxO=4Wb;9zO>PV{)K=R#+G^=o6W~ta z!3$k_P%q!G6f~gZ%7zxDAU}3|Nm*ILN`J5!f@hCHnop>qY_b7N^+s=%m3$k8<<0hA z>nrg;Pux8v$I+~cyXxaW%csVgWi)0y)k9xTkU~c5S4zcl$AkZdho`ejiePW=y4cdP6lD6HmDS(5$6D8 zMa{qs&l(mF&LqT01uKQX1#*1@cOUM})zRYZhzE9LX9lY;^zTAN>B#RbedU2WS~4(UdX z-oWQM(DscAG4VX0p1^dFrx3?c$3br?}+ zJtZLPe4a$4Sv@kpmK(lFb}o8qLWeVY-eG%If(_7mA>JDG>=Bxfw)z2&6dMl;hj!KBS6aNNF^mk_}_PWW%8rWH!Foo(Y{I z12uv7;m`Szz7m>csl`{|LtJFhvyml!3MiOMImZm(vjJaBH?DpN0sOVL0RHrw>6Q!M zb@&QA+=jj*9$aa1rreioIA zUIonyegnKMjY>xiEh&4EBgK@GRihk&yj&(Pm&5Xqnu&car(Un#)U!S=7p0s>B3~+l;+tDz9e||20*;p5>xG|t*z2%n+}t)Y|SPb*EB+C7Sy8!Lal(mLJlSm zJW}9NQ+rc?R)DARL#;)#st&o)T1I1%B(+2h#d1&&6853&Jfpadf=qh&NDAdcWi!o} zQbB7Fs?ep>3{*jy#&~T5JXO06I!zW@MyUwI)Wc%gX@Zj{EhUzRHMNMNNkWCElxu(* zIrav`AVyM`{PVbDLsgJrE|b9;*3!UMW6>ZtsrCWPv14ce5l<6H1~&5}s4-+Z&~*J@ z-5Sh`r^Iq&(5=T|SWp*~qrve94tc`0Jw;?kbl?M*cG?h-y-{1`|)Su_=yJSLeY3zdaSftI4lN{bKm0m_A`Ap?*m za^#Mpv3R)B@@bmSq~vIq_He+RA@1jrB4<* zYfRHpNWDy>&%RL7A{p*U%O%Z@&;ln58&VqZzm_&F9gpnw#$aa99Q^;YVDYHJ^7y|O zs?efCOO{Ed?GHDbFjy=^!-keu6Gv?W7Lr>li8d5JY?YYLAzjuZ+5XT5NwguXLqMk| z(DqAhXOb)pY|;v_v@H|A0-xjyJ%N^c@wPO0$I%K%R+7BEB+%i94m$=K#fFwd!=1R5 ztP2Z0gAShc_)l@^5X4JudL)aD9LH2TUeM8q4n4>*J(59blC2eo%hb`1V2$A!7$!tg2G}U30%9?Mw&_+%5uh)@F#{u+Fg4B>& zlv~dCbSOq`(L%C` zOPf(C*K#~cmky?M#G#Q!$5`5%4Q7EH8&Ss80JklbmpG~=)sSWlbXP6{{(8CVI9?g( zPFxwu+@1v7Rre*UY#9E;;rKJy{G80i$Cz3HIk;A2D?mQ-9A@nKMGOVBQ4 zx2HqiixG1P%CHnabWz4FNc)D#p&7jn*EiInbVZVl9;9m@`~VC%YOmhtWxk|x!9Rg& zOf|y4lfP+*>+#s`Y4>%#>ds?7e&jOa%Eqq(WIG)3G5AQ$Ak`C_k(TL59S2b);&2fo zMT`|u<;ZftWv&PyryvqQEU4LIUJ4@{32bVBj_2EZPJ=g>A(qX!LR+mGY&>l6WEQk*hJ2P zMd~=ob*nvB0r9AD^XaIFWFVv@y)Be9sgg8l9XaP6(2(opjzr3wP^`cNj8)>(O`OGW zsmLWh+hnAb!X#Jh2b5>JBO`5=Gu=3yu^!2lED~c^SPVkqL7I5%4)Y)+9;Bsm z$@g$GXkj4)O9O~5etRSQ1dE^O;`da9pJ4G5UHqPl@DnV4qNj8DUb1SCkv7%gq1GiP zkqgXJlC&%9QaO&okzWmEB6dU*PBIc*n(Ba+5obck-u#&ukqwfQM|)DcgFK~5?}T#m z&`=gEIf*Vg(T`qn`8g*-Qf|^DrB5PK5-cf+E-BH^V}(*8Bq@<5DSaK0l3+v;|ArqVp_lF_aola8@}P z)_6*{xH%a(p!F4S8mf1qyjtR|^3jOEuU#sY#O){?I-ce%fplpHj@6mtcL#pkV&>JeCgOO(w)h) zY6k7`i5gWB>KB!e#Yi*@iFa<4x5bFJh2k>OTE?MOXbDeip>>*=QZVV+7#q}wp&{+$ z!QV0nR;dn+D?&0xNfVEvFb_iFK^j*pbsY9W?(UL^b`%`eHV(9nLt0j>5_4okOu^zO zy7-Na@DnV4qKn_ekY6GV3Blqgy7*0r@DnV4qDvzjZZ!gJmo0>(5l9n{nPDD;#Dg@R zK=j+Q(Y+wWm=h`nk6^)44AI4JeuST3@e^G}%rQ|T#$sf|SV+8=M0s0`cw0!kmqmG7 zjCfl}yesYAi8N&_M!YQ~-YcWLEk?X8B&|^uY7OpW!O|L{i(g%YpJ4G59UW9cOAVHc z^PI7A%4=!BI>f6t4Ilxu6q2LF6^_qy=kZA`-N>@O&K^^MbyCx@FC^u67RNtJO1gm~ z@_ghP36|VM7r*8RKf$)`-=V9V7$nlBh)9AZanZ$ZbA+E@@e`fOy*Y!Y{8=Gq+Fa-u z(IT8g5M2^JFXYR9g6*Zwlt^NbNEby!5-fhAi{E7teuBkMbn&|~!cVaHi7tNEM)(Pi zJQ+B&#A21+-@-9n(F|r*p<#xDelxNZP$>kU|=st_Ft=kT3KeKEScV|>w zi_tTKL#D08N~~Q`u`EWsEhOH%?cThASd4gENWAw%d0UKlTS%ICZ>Z6Dx(Svh7G3;`CAA*gNWGSxaYY43VS7NrMIht-67+Oo_N|Lf@Z7A1qhLQ>K1Lgk95&Jt{2oiw+2bRbQZ zcqy{@N!@-5rIG5VM1-)Ek&z0$>E3d|f?D4px zx!EilO{iB1Sq^)*Yx7xdiHZ2pKsx898y-EaCRDB9=uy%cD?5!s@prf7FC-2AWkE1n{PV%@1liJ)8Z|F`?YRdvrT9!gj zF^GdZA!*IOr?vP%bVzZ~fsD8;6O%{=R~+t78J7qDxVKv4L+1h>vP$5>c@B4pVsVy> zByK=)7D60F=W*1U5=xb(q+;13VkYA`#g%oGeB~iIr;oNB!wh9(M(WR7fwPGu! z5aKAhIA(`(m+A;1j-vBWY_%>$Bu&~Nf|Sle89hN(qFL7@wrCc`Be>NOV)MrNBDqz*-)NIctGg|N*wqmxT5QnV8LA(PjYR*RCNS%~LU>qxtMa83njiDEeg zr%skjdRZb#MYXRB~AaZXR_xENd-(|N)fA0JP5A6pv1 zV2snX--(X2C3N1%>RYGThA zE@AVB(tk5U{U>8k2x%A9v8>_3m5$-pB_MzLnQW|GbRh*D_aGdePP|^o#VvF2Fx^ue zu8cG}Hc9-{z4WwG zlCQGQYf0XsBzX%-d)9@D%`22(DYfXG(HAsF9^&4xvX7TqH-w_gS|x4uVDS^ZFfI;DV@oQAX|>ZsYn+PKy&N~K1#81~8ELIgF-*dl z57U5;eAp~npJNusY9SOASfH>O&W3W27IZKD*ms49_V~2M$;gLkHAEvf^inBB8U!=7>4~F%F zq^l1_3-@`mqj9CRe9!)G_Jl}5X0*W2I`lk<47%Sb%}Tp3k2TqNtp&*`!w%b_)nhVn zU*dk!fh#~pf$G^Vv`t#eUx+Rd4%j0IkO-ppj>CBd4KAC1sO7a^kPMxM=)!$ zy~By}AffBpbO$Pk3d!Ee-YF;uM?`5_>Exg*a!;fndpTC*Om3DI;Zy`0fbI~qWF*qS zXiX*+JuV8}%V~K&*o2u0I5hFD=?rS|K`lASvZgj4l*#k~m!7vuK5ht>RuMfu4uz+q zROjrNw3a+P9FetvDwB%JNIIWHq$60;5uKj%JG)aF1;I49-J43!0nTSl6rCTt3aBRXw&bSVi6LFL<-8{v0 zgGCFZNZa5L^d`_TE(S%SNB0jo5;f%=;IX`vIudDpCkwrB!XA8I2%a4i=?Nhee3Cn* zy_1r&@q~%r6~PlGes=^8 z=z-Tmycl}48D8S@pc&XKO~fj{-JrhdT1+bmi9~NSP+>A6tinp0ONLfv2ap-JIo>a# zg2)REkXDP5J2_EpWbw9YLl$AERX>1_Jq}@t^GR6iP#j?>&gT(v2veM|qv8ldalVU) zLzv>wJ-$#cP(H#?oZlki5T-bXqT&dHICzsFG-4Sb0^S|4k8g#Uaj_W6)Dc)$ts zz-1rL7`!jQPu=+t!WV6(3-4so!}jY-9La>lb1+*{d_z$>UJTaz2%T*GOqp|5RL~Aw z(9V%&p*wMbwXpVrrl6pF>6~t|iyUq$43$o90LZpMZzu3A1Ng~faH_H1aVLe^`*O$> z&6|rw2~)8;ak0|uCZS|#%G`FM*~qyoJM-Yg`(u=iyk`Ju4MBQ`L)<7rCP%Q_gh5l{ zZ2{`Jbh=;_#hO5rgk>bher?z-j_kQ@*e#C6%^+0Ong^6NVd9G-c*0cZ5-v0sD|K9G z08>;kk<-Yinh8U;u~9Z*$Tl&|hNVOqvQ3Gy2}6aY7x=77P%Og4&y3&+Q(AMv(xS2p zL$>)*HeskSk7=VZEspF<+OS(3*_WxE4x8h+jPi1Zy>l%e@~@0YkLqS|WMA2a-QuV& zRbh3Z*us#lF3KiMM{K_GXgjz8^CNFunqU`2p{?ywSxRdirxi2^Ovj!f2_a+52HG~s zc|%mj!jP>w$|eliHbvQlA=~CCn=n0sWw17$(B4Jy&f<9d^mKE?CZx7dEohC#Mx(Vj zFDyscT7;ogFN(4WL$=GJY{HQ3$|##KWV<%XCJfoOur1j90z(DI_@>233%)fhAsYL_ zP(s_HY{Jl3qvyTWiiA;+?z9hD%Sev&h?gAgc8eqXt~TrzNA}$jb{e)8NA^8!*e#AK zu{W#|6k8awJr!jWCWFTbJ&MI)gjy?|j*k@MIgTN_2W}RKji1+%6A{=w9KkIDu{8=s zeu*Q88HJM0q5Q%-=hd+CQRfKLGgv;}x224tYB>*Z%+Q8R_r*{T@v(2nY|sta5w_z} z*(I4!@xrI>J7LA6rWJuCI}}zP*5y>E{xYQp#7!=rp=Y+j|nTeWsMjL(rVnzR?8jI zbV7rHuDY$k;It10Ht1k*cC{bBs5PyG(1ZL?H$7^+C`}G-u5#pnQaTkal{P1Mgp*dn zLsjY_t2M}~6s6Z8+9(vCz2->0by35URZ7X~A=s4Z#`$vV*w4C}f2ZgoQyGMoY{JGr zp0(PuflV1IZ)S9Pg(72iv{5K+7^#gl_VEBUdgum8^d%mdw&7rrQu45IjfbW7lEY>( z+&~e-7tct^+v*syDy7A>t&voklE~7)9wcpD5V34g)R7uBZ0u2V%g`q-4kJf(U63Z>5Zg8SoNF@1nSB@3@HbSQTX%wdzHfU)CNNRkcWMv(kKYF1=nNH+P zqhbp!FDkV5#7#0MJ(I<=Q#xm~_QoCFwAP&X9#paBO{kAtu<-I`OMIr(2q#5(x{2pC z>5fi(HyD>WSlIa~mp-*bMUB;6JdY%H23CWkpaoi0(l>7ozD@l zqS4h=dNv+4;l78UG=5lVO+K0x;@ne`ikf|)UOT4k1{7LLqBAfQX$eQNXD1Bx$g=2a z2}Q=rXroY8Gg-4x@}l9nQirEphT+h|cap;Ql%NwusEV8lv=&*U)<|b&s77^Mu%7%d zxzvF}bHvT!c(_{irKv0aTI%534W-w>>B+@xQzRNEv zPs{?(KyHN1)Ch9qNAuC$M0)5D+(rR)6FG~M;U_$;#k%s4Or=Mvbax~e8P9$~I9Zbt ztKQABoI|Ujm{EDjChA6v19v=7E`F`)uO!I;?{PH$)xlm=ya!{gUodsC?el=a#N{Cr z7!O(k*ExS-B+kMP3!KQpm5AqHJgGP9#gH^P_4s+x4E%kA1ZjpAlAZX;ax%2gJ^V~s zokxMvS5U~B))Lc6RuzvL(^|(Nd28GwL(QXSTs#)F&3Hi!$287^D@QMdX_s8YWwFN; zhRS(alua12T^VH)W>Q=d=SWX>xTG{Tkhj!|pDM|7oph6Ft7T-duI1#>Nx{e|{0zw! z1w=%0w&uf=C(YDeHA$8C{N~NLWDhmN7S1mL4||(Wq1Lf35L?9{8_-$0h;w1_q%IVF zD@VsiS~i}-l;Rmx=#eoxkO^7JV8Pg-5eCh=>?8NoR!Kx=JhD=sP$t_rlkhmgQHShk z!zvt2;N5KH2`uWcxDM#2vl3AyJRPPH*SeE^xGYjUJZVGju~4D)pjP~KMU@^r z$;Iss+ml?3SnPn-W5lqhxpZU6%8us^ouIH?=yN<==w<2pPKD9;kb+MGQKaxTkOEPX zQclvI<3dVLpBL8CFR>*#+l8K{0m{!u^{Gay7%72Q*^L`a)LuN5&f_Z45klK7EbRjv z2~C3G$LA_kpT-2`74`@;IJ_hVW%v%q&E^I5N(>^tGn?9ygK?6F>xnB{K zEUQRuKjYM56?%YPQDGr#U*FUr8_UXXhW%# zy{MFuby*u8*=VP(?B!%{0FZaFTaw4A8ONRpuXS{K9CJv(~%YGZ?qB~hgi6wkV%4UcEBDReQ^ zOpT0qbZLnwcz{YXIqY^;kkbfyMAZoHhzPLaDXSzR3*nX4La5C{*~D8Ox;b-=f-Ht3 zo}p42*3wU@3PZLOwuQO{t)X1}jtONOQ(sFQ?WS+;yYZU=#({6%r8Ocn(RUS|#%&3C zA(RxH9a^Wvvf^>Y;tQ5|&iWxg&HO?iXW(@{#mPJ%zQ85OK}zT~e6$`;+M7M}X$+-D zPh^7YTztHzN0F1qSzETAMf9$w^%RFu0>5;MNS>*f|D;@@8dn|RpH5MvF3LXzD zBMEf?0bW2>k;@HpuxKGQ%bDf$bSa)TW;9A=Z{Go2X^}B{wQ+FfA)CSE4i0 z43Eg^r3x)|V}?3{+K}EF^~3|Pf`Te*tEvaF!`jm6>B4?|`D<%NCtm;6{C2GMU6j?h-__6d+Xb>&Gcl#p}ucI zOLND;qmAf1=UnaCdTU&|Ol%`^svmhfUF}T=Z2J zyoVR>p>Mb}#S}T{7gDnMD=Z!OEhm}`IBdoPu#ypEZOw|wKxR85??|;Z8R*?9tY3EL z6hsdrx@j&^<;7&6sL_)_QVkpXlxi4(hw;IMx~-PNWN`f3WYA?k*m-z8GgJ#6P?$^Y zT6<~k?GJbmH4Yohv>SyxhBcPe zaJD!Disx&cBP@C%bP*71#M3~ws}W&lNC z9E<=mEW%mxg;?Bbq&yrXIzmwCG2%GoB%-ZI$Pq5qQGmVWRA6~fnJit(w3*6aHHXJT zRS2QZI+k!x!Wzh#X$>CQ=*TI8rg5V*U#r`r;MmiyjV3)^qw`kC3icQF27MLZ;K7dR z3Ib#=M-aBkafZ&gpv5OhVJqh@v}mhDv|S@ccbMBT^(~?wUBddIZ+6;O9p3B_JvYq9 zO4~mC=p+TlUU2-kg!%>T|B{Gw*Ok_Yz&c1H0)o~bE-ICg&KIx3*0HdS$bCZA|CInn=f5NXYkLV`#pW>+On{GC z-9xM`BAckLL1)W|O;YOmFF9csk}oP*4UP%HjFkvlkaM7CAZg7{c-%z}LkA*%^hkDjU4z_y4tbH8F0SW%&J~jT%*@f>2fMp=hM=ld9D6-)=T7Q1&m` zG}+B|y(A@CY1g|pu8Y^UY;VZk0s@Hxhf3vy;Kqdu%8467Dkp9|q(>ww^}vl=#R+)c zXT~$O$1~#@e|w^1dF*fI`<{8f_wW0eZ|2ob>@&Ez^V5r$2QVK9Bh)MhrC=EPY@IjN z`ggn_?)inQc=%O!XBV-1`~mmB;{KQ1|90UL_<CusYtKOT!~y zde%Flqcnrj-z9^`0d)JC!8>aAF1&cZSM6?h+J5{R1gPlzq;HV#0`n~yc{#Vev4?lW zw`K zQe%;vIZX}Gs&Cw9ED+~ZV;MMu_v()OO7vA{?TS-Dn1ilU%;lY$81ZW&omhvU8rf0R22=4}ZH5!ZqAwvml2G>vfyk=U(4 z6|L28No8k)=ZIhqBs-jm=hElLMIxht6r8Dl}@XO^bGfn>}H`65xb5M@3$7#&@wIP9B^q#89W(6jZDa# zHe>^7k=Ap^$jx*-g!kF0HkulOx8_^TVp&CO3yd9z^ez^Zt+Z=i%&K;sT@m&o>_A;p zyGYM@pB|rCOY{a-kZ7w`kd_WhmTI?b4e7cqq-#_I8+^L9tcq>}X}MrapO&p@!E#2+ zb9H>IN4ZQFo!;`MLDBN;Kv8^lpfY;mus^tNO@7xi_L!&8MBB^CsIl=*zNltw2dbn{ zw~gFL*Je#oszSbO5o^&R7G-Fuj@z+5%&jG;QZuDT^8=7Aeduh*1N(BDr_Z$UAA(BX%fOBp=iE z#EW^%z_neA>4to zC9KS*JcX`I{!_JP3Kl1O?9?&acq^c5%*8CS^O(iOOlb-iIUcbEMp4=VqpR97vKeVr z!$6+Q5KKyY4siACRxn5{Bs=+dw6Sgtok;9JAO;MPQ~lwfJB=I5u^1#B^tM_77-wH& zH8uu}(Q^YVa(~v5n77}3<8sxcN3r|&*$;a~mCR1a_IS~rUzS@|pDkaVh#6gWph9mme+h~zUqfRRM z21+E%gonbNw4`~oNT_lDR7h^OB9TB8gL3<(THqi&ix>8!hbYzo82ccxcRJ!I3wfpj z=hU*}P5LD?IZ3m9k@SswrDF12=B!8*K$hm=weL*vNEkezirH8;%^#tI54_khPGm)6 zyitk#vkyxL66@ec0?sSpInT}N|9UU%k=WskWoI(rs9z$1vF4V5H|m{|%`E|J!bc_F z_)Nf?a8z`8yGFJm+p+|_u)Ct(%nv#0v}k~_w-b}847)Dc;k>Am4r~U8m_X}<8>58g zQSS*nif7-*{W&Ba)q{a+LkoId;G8myz5kuS*=f$0&T}3mnC6nvUx!ORF!Ep)Ci6b( z(91EgiM3oU&)4z55rX7qob`GIka+-s5v$Ij;fJ;D_5B| z!^Vzm!^n}9D@4z?(YRtK@<#MOMyb|Avu~*^%bo8Y>gz@i>+aAhhiAd*Xl6CnSwT~^ z1aY8aLpn-uRwpnsD&;k6L+Dz{kgH5}z}ATcjI{gM`QZ^2h=v@iJk4;{%Daw3sRj07dHc~m?6t%pPbS{7GZ1@Q zXI9uT3&R>#bO+7>m-nyF0hh{f4!HE*Sntk9q`Br@QD-lGaNuYJ7t;g5TN_}yPFfBv(DKcRNR?PLA#3{&I3AC2TgFLSNa zTW__ts?D~X^p88edOcTbwY(z#{RU7bSu_skrwlW`B=Xol#6SA@f(RDshmPy%O?=`r=`M2iag_mndvb=O zO_b}B?qT_WLPt)STWNAo<~<-dvPJ3}*ssef(ra=B`wGq~7rOXglpLsYq{eGMM5!K* z=(aAGeR{jd-v$la_|s5f+#J@gqL>|b?z!-9Soo9}Dr7ma;csokx zk=#VSHW8X~3>^sbLa(3Kpcy{)J?2+_4dqopJ<8r!`Tsy(L4K9^fO*@Xyfspzv^3a9bESmbs3CsR>t&jcKPB7F&W34lyV?r qk!9+`3Up7k?*vxYqSZu~QO*Bi%ftb+wa=m8XIOjj#rFTlf&T&R%-{R~ literal 167424 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 diff --git a/MongoDbGenericRepository/lib/netstandard1.5/MongoDbGenericRepository.xml b/MongoDbGenericRepository/lib/netstandard1.5/MongoDbGenericRepository.xml deleted file mode 100644 index f8a95b1..0000000 --- a/MongoDbGenericRepository/lib/netstandard1.5/MongoDbGenericRepository.xml +++ /dev/null @@ -1,4520 +0,0 @@ - - - - MongoDbGenericRepository - - - -

- The IBaseMongoRepository interface exposes the CRUD functionality of the BaseMongoRepository. - - - - - Asynchronously returns a paginated list of the documents matching the filter condition. - - The type representing a Document. - - The number of documents you want to skip. Default value is 0. - The number of documents you want to take. Default value is 50. - An optional partition key. - - - - Asynchronously returns a paginated list of the documents matching the filter condition. - - The type representing a Document. - The type of the primary key for a Document. - - The number of documents you want to skip. Default value is 0. - The number of documents you want to take. Default value is 50. - An optional partition key. - - - - GetAndUpdateOne with filter - - The type representing a Document. - - - - - - - - GetAndUpdateOne with filter - - The type representing a Document. - The type of the primary key for a Document. - - - - - - - - Asynchronously Updates a document. - - The type representing a Document. - The type of the primary key for a Document. - The document with the modifications you want to persist. - - - - Updates a document. - - The type representing a Document. - The type of the primary key for a Document. - The document with the modifications you want to persist. - - - - Takes a document you want to modify and applies the update you have defined in MongoDb. - - The type representing a Document. - The type of the primary key for a Document. - The document you want to modify. - The update definition for the document. - - - - Takes a document you want to modify and applies the update you have defined in MongoDb. - - The type representing a Document. - The type of the primary key for a Document. - The document you want to modify. - The update definition for the document. - - - - For the entity selected by the filter, updates the property field with the given value.. - - The type representing a Document. - The type of the primary key for a Document. - The type of the field. - The document filter. - The field selector. - The new value of the property field. - The partition key for the document. - - - - Updates the property field with the given value update a property field in entities. - - The type representing a Document. - The type of the primary key for a Document. - The type of the field. - The document you want to modify. - The field selector. - The new value of the property field. - - - - For the entity selected by the filter, updates the property field with the given value. - - The type representing a Document. - The type of the primary key for a Document. - The type of the field. - The document filter. - The field selector. - The new value of the property field. - The partition key for the document. - - - - Updates the property field with the given value update a property field in entities. - - The type representing a Document. - The type of the primary key for a Document. - The type of the field. - The document you want to modify. - The field selector. - The new value of the property field. - - - - Updates the property field with the given value update a property field in entities. - - The type representing a Document. - The type of the primary key for a Document. - The type of the field. - The document filter. - The field selector. - The new value of the property field. - The value of the partition key. - - - - Updates the property field with the given value update a property field in entities. - - The type representing a Document. - The type of the primary key for a Document. - The type of the field. - The document filter. - The field selector. - The new value of the property field. - The value of the partition key. - - - - Updates a document. - - The type representing a Document. - The type of the primary key for a Document. - The client session. - The document with the modifications you want to persist. - The optional cancellation token. - - - - - Updates a document. - - The type representing a Document. - The type of the primary key for a Document. - The client session. - The document with the modifications you want to persist. - The optional cancellation token. - - - - - Updates a document. - - The type representing a Document. - The type of the primary key for a Document. - The client session. - The document to modify. - The update definition. - The optional cancellation token. - - - - - Updates a document. - - The type representing a Document. - The type of the primary key for a Document. - The client session. - The document to modify. - The update definition. - The optional cancellation token. - - - - - Updates a document. - - The type representing a Document. - The type of the primary key for a Document. - The type of the field to update. - The client session. - The document to modify. - The field to update. - The value of the field. - The optional cancellation token. - - - - - Updates a document. - - The type representing a Document. - The type of the primary key for a Document. - The type of the field to update. - The client session. - The document to modify. - The field to update. - The value of the field. - The optional cancellation token. - - - - - Updates a document. - - The type representing a Document. - The type of the primary key for a Document. - The type of the field to update. - The client session. - The filter for the update. - The field to update. - The value of the field. - The optional partition key. - The optional cancellation token. - - - - - Updates a document. - - The type representing a Document. - The type of the primary key for a Document. - The type of the field to update. - The client session. - The filter for the update. - The field to update. - The value of the field. - The optional partition key. - The optional cancellation token. - - - - - Updates a document. - - The type representing a Document. - The type of the primary key for a Document. - The type of the field to update. - The client session. - The filter for the update. - The field to update. - The value of the field. - The optional partition key. - The optional cancellation token. - - - - - Updates a document. - - The type representing a Document. - The type of the primary key for a Document. - The type of the field to update. - The client session. - The filter for the update. - The field to update. - The value of the field. - The optional partition key. - The optional cancellation token. - - - - - Updates a document. - - The type representing a Document. - The type of the primary key for a Document. - The client session. - The document with the modifications you want to persist. - The optional cancellation token. - - - - - Updates a document. - - The type representing a Document. - The type of the primary key for a Document. - The client session. - The document with the modifications you want to persist. - The optional cancellation token. - - - - - Updates a document. - - The type representing a Document. - The type of the primary key for a Document. - The client session. - The document to modify. - The update definition. - The optional cancellation token. - - - - - Updates a document. - - The type representing a Document. - The type of the primary key for a Document. - The client session. - The document to modify. - The update definition. - The optional cancellation token. - - - - - Updates a document. - - The type representing a Document. - The type of the primary key for a Document. - The type of the field to update. - The client session. - The document to modify. - The field to update. - The value of the field. - The optional cancellation token. - - - - - Updates a document. - - The type representing a Document. - The type of the primary key for a Document. - The type of the field to update. - The client session. - The document to modify. - The field to update. - The value of the field. - The optional cancellation token. - - - - - Updates a document. - - The type representing a Document. - The type of the primary key for a Document. - The type of the field to update. - The client session. - The filter for the update. - The field to update. - The value of the field. - The optional partition key. - The optional cancellation token. - - - - - Updates a document. - - The type representing a Document. - The type of the primary key for a Document. - The type of the field to update. - The client session. - The filter for the update. - The field to update. - The value of the field. - The optional partition key. - The optional cancellation token. - - - - - Updates a document. - - The type representing a Document. - The type of the primary key for a Document. - The type of the field to update. - The client session. - The filter for the update. - The field to update. - The value of the field. - The optional partition key. - The optional cancellation token. - - - - - Updates a document. - - The type representing a Document. - The type of the primary key for a Document. - The type of the field to update. - The client session. - The filter for the update. - The field to update. - The value of the field. - The optional partition key. - The optional cancellation token. - - - - - Asynchronously Updates a document. - - The type representing a Document. - The type of the primary key for a Document. - The document with the modifications you want to persist. - - - - Updates a document. - - The type representing a Document. - The type of the primary key for a Document. - The document with the modifications you want to persist. - - - - Takes a document you want to modify and applies the update you have defined in MongoDb. - - The type representing a Document. - The type of the primary key for a Document. - The document you want to modify. - The update definition for the document. - - - - Takes a document you want to modify and applies the update you have defined in MongoDb. - - The type representing a Document. - The type of the primary key for a Document. - The document you want to modify. - The update definition for the document. - - - - Updates the property field with the given value update a property field in entities. - - The type representing a Document. - The type of the primary key for a Document. - The type of the field. - The document you want to modify. - The field selector. - The new value of the property field. - - - - Updates the property field with the given value update a property field in entities. - - The type representing a Document. - The type of the primary key for a Document. - The type of the field. - The document you want to modify. - The field selector. - The new value of the property field. - - - - Updates the property field with the given value update a property field in entities. - - The type representing a Document. - The type of the primary key for a Document. - The type of the field. - The document filter. - The field selector. - The new value of the property field. - The value of the partition key. - - - - For the entity selected by the filter, updates the property field with the given value. - - The type representing a Document. - The type of the primary key for a Document. - The type of the field. - The document filter. - The field selector. - The new value of the property field. - The partition key for the document. - - - - Updates the property field with the given value. - - The type representing a Document. - The type of the primary key for a Document. - The type of the field. - The document filter. - The field selector. - The new value of the property field. - The value of the partition key. - - - - For the entity selected by the filter, updates the property field with the given value. - - The type representing a Document. - The type of the primary key for a Document. - The type of the field. - The document filter. - The field selector. - The new value of the property field. - The partition key for the document. - - - - Gets a collections for a potentially partitioned document type. - - The document type. - The type of the primary key. - The document. - - - - - Gets a collections for the type TDocument with a partition key. - - The document type. - The type of the primary key. - The collection partition key. - - - - - Gets a collections for a potentially partitioned document type. - - The document type. - The type of the primary key. - The collection partition key. - - - - - Converts a LINQ expression of TDocument, TValue to a LINQ expression of TDocument, object - - The document type. - The type of the value. - The expression to convert - - - - Maps a IndexCreationOptions object to a MongoDB.Driver.CreateIndexOptions object - - The options for creating an index. - - - - - Gets the minimum value of a property in a mongodb collections that is satisfying the filter. - - The document type. - The type of the primary key. - The type of the value used to order the query. - A LINQ expression filter. - A property selector to order by ascending. - An optional partition key. - - - - Gets the minimum value of a property in a mongodb collections that is satisfying the filter. - - The document type. - The type of the primary key. - The type of the value used to order the query. - A LINQ expression filter. - A property selector to order by descending. - An optional partition key. - - - - Asynchronously adds a document to the collection. - Populates the Id and AddedAtUtc fields if necessary. - - The type representing a Document. - The type of the primary key for a Document. - The document you want to add. - - - - Adds a document to the collection. - Populates the Id and AddedAtUtc fields if necessary. - - The type representing a Document. - The type of the primary key for a Document. - The document you want to add. - - - - Asynchronously adds a list of documents to the collection. - Populates the Id and AddedAtUtc fields if necessary. - - The type representing a Document. - The type of the primary key for a Document. - The documents you want to add. - - - - Adds a list of documents to the collection. - Populates the Id and AddedAtUtc fields if necessary. - - The type representing a Document. - The type of the primary key for a Document. - The documents you want to add. - - - - Sets the value of the document Id if it is not set already. - - The document type. - The type of the primary key. - The document. - - - - Deletes a document. - - The type representing a Document. - The type of the primary key for a Document. - The document you want to delete. - The number of documents deleted. - - - - Asynchronously deletes a document matching the condition of the LINQ expression filter. - - The type representing a Document. - The type of the primary key for a Document. - The document you want to delete. - The number of documents deleted. - - - - Deletes a document matching the condition of the LINQ expression filter. - - The type representing a Document. - The type of the primary key for a Document. - A LINQ expression filter. - An optional partition key. - The number of documents deleted. - - - - Asynchronously deletes a document matching the condition of the LINQ expression filter. - - The type representing a Document. - The type of the primary key for a Document. - A LINQ expression filter. - An optional partition key. - The number of documents deleted. - - - - Asynchronously deletes the documents matching the condition of the LINQ expression filter. - - The type representing a Document. - The type of the primary key for a Document. - A LINQ expression filter. - An optional partition key. - The number of documents deleted. - - - - Asynchronously deletes a list of documents. - - The type representing a Document. - The type of the primary key for a Document. - The list of documents to delete. - The number of documents deleted. - - - - Deletes a list of documents. - - The type representing a Document. - The type of the primary key for a Document. - The list of documents to delete. - The number of documents deleted. - - - - Deletes the documents matching the condition of the LINQ expression filter. - - The type representing a Document. - The type of the primary key for a Document. - A LINQ expression filter. - An optional partition key. - The number of documents deleted. - - - - Returns the names of the indexes present on a collection. - - The type representing a Document. - The type of the primary key for a Document. - An optional partition key - A list containing the names of the indexes on on the concerned collection. - - - - Create a text index on the given field. - IndexCreationOptions can be supplied to further specify - how the creation should be done. - - The type representing a Document. - The type of the primary key for a Document. - The field we want to index. - Options for creating an index. - An optional partition key. - The result of the create index operation. - - - - Creates an index on the given field in ascending order. - IndexCreationOptions can be supplied to further specify - how the creation should be done. - - The type representing a Document. - The type of the primary key for a Document. - The field we want to index. - Options for creating an index. - An optional partition key. - The result of the create index operation. - - - - Creates an index on the given field in descending order. - IndexCreationOptions can be supplied to further specify - how the creation should be done. - - The type representing a Document. - The type of the primary key for a Document. - The field we want to index. - Options for creating an index. - An optional partition key. - The result of the create index operation. - - - - Creates a hashed index on the given field. - IndexCreationOptions can be supplied to further specify - how the creation should be done. - - The type representing a Document. - The type of the primary key for a Document. - The field we want to index. - Options for creating an index. - An optional partition key. - The result of the create index operation. - - - - Creates a combined text index. - IndexCreationOptions can be supplied to further specify - how the creation should be done. - - The type representing a Document. - The type of the primary key for a Document. - The fields we want to index. - Options for creating an index. - An optional partition key. - The result of the create index operation. - - - - Drops the index given a field name - - The type representing a Document. - The type of the primary key for a Document. - The name of the index - An optional partition key - - - - Asynchronously returns one document given its id. - - The type representing a Document. - The type of the primary key for a Document. - The Id of the document you want to get. - An optional partition key. - - - - Returns one document given its id. - - The type representing a Document. - The type of the primary key for a Document. - The Id of the document you want to get. - An optional partition key. - - - - Asynchronously returns one document given an expression filter. - - The type representing a Document. - The type of the primary key for a Document. - A LINQ expression filter. - An optional partition key. - - - - Returns one document given an expression filter. - - The type representing a Document. - The type of the primary key for a Document. - A LINQ expression filter. - An optional partition key. - - - - Returns a collection cursor. - - The type representing a Document. - The type of the primary key for a Document. - A LINQ expression filter. - An optional partition key. - - - - Returns true if any of the document of the collection matches the filter condition. - - The type representing a Document. - The type of the primary key for a Document. - A LINQ expression filter. - An optional partition key. - - - - Returns true if any of the document of the collection matches the filter condition. - - The type representing a Document. - The type of the primary key for a Document. - A LINQ expression filter. - An optional partition key. - - - - Asynchronously returns a list of the documents matching the filter condition. - - The type representing a Document. - The type of the primary key for a Document. - A LINQ expression filter. - An optional partition key. - - - - Returns a list of the documents matching the filter condition. - - The type representing a Document. - The type of the primary key for a Document. - A LINQ expression filter. - An optional partition key. - - - - Asynchronously counts how many documents match the filter condition. - - The type representing a Document. - The type of the primary key for a Document. - A LINQ expression filter. - An optional partitionKey - - - - Counts how many documents match the filter condition. - - The type representing a Document. - The type of the primary key for a Document. - A LINQ expression filter. - An optional partitionKey - - - - Gets the document with the maximum value of a specified property in a MongoDB collections that is satisfying the filter. - - The document type. - The type of the primary key. - A LINQ expression filter. - A property selector to order by descending. - An optional partitionKey. - - - - Gets the document with the maximum value of a specified property in a MongoDB collections that is satisfying the filter. - - The document type. - The type of the primary key. - A LINQ expression filter. - A property selector to order by descending. - An optional partitionKey. - - - - Gets the document with the minimum value of a specified property in a MongoDB collections that is satisfying the filter. - - The document type. - The type of the primary key. - A LINQ expression filter. - A property selector to order by ascending. - An optional partitionKey. - - - - Gets the document with the minimum value of a specified property in a MongoDB collections that is satisfying the filter. - - The document type. - The type of the primary key. - A LINQ expression filter. - A property selector to order by ascending. - An optional partitionKey. - - - - Gets the maximum value of a property in a mongodb collections that is satisfying the filter. - - The document type. - The type of the primary key. - A LINQ expression filter. - A property selector to order by ascending. - An optional partitionKey. - - - - Gets the maximum value of a property in a mongodb collections that is satisfying the filter. - - The document type. - The type of the primary key. - The type of the value used to order the query. - A LINQ expression filter. - A property selector to order by ascending. - An optional partitionKey. - - - - Gets the minimum value of a property in a mongodb collections that is satisfying the filter. - - The document type. - The type of the primary key. - The type of the value used to order the query. - A LINQ expression filter. - A property selector to order by ascending. - An optional partition key. - - - - Gets the minimum value of a property in a mongodb collections that is satisfying the filter. - - The document type. - The type of the primary key. - The type of the value used to order the query. - A LINQ expression filter. - A property selector to order by ascending. - An optional partition key. - - - - Sums the values of a selected field for a given filtered collection of documents. - - The type representing a Document. - The type of the primary key for a Document. - A LINQ expression filter. - The field you want to sum. - The partition key of your document, if any. - - - - Sums the values of a selected field for a given filtered collection of documents. - - The type representing a Document. - The type of the primary key for a Document. - A LINQ expression filter. - The field you want to sum. - The partition key of your document, if any. - - - - Sums the values of a selected field for a given filtered collection of documents. - - The type representing a Document. - The type of the primary key for a Document. - A LINQ expression filter. - The field you want to sum. - The partition key of your document, if any. - - - - Sums the values of a selected field for a given filtered collection of documents. - - The type representing a Document. - The type of the primary key for a Document. - A LINQ expression filter. - The field you want to sum. - The partition key of your document, if any. - - - - Groups a collection of documents given a grouping criteria, - and returns a dictionary of listed document groups with keys having the different values of the grouping criteria. - - The type representing a Document. - The type of the primary key for a Document. - The type of the grouping criteria. - The type of the projected group. - The grouping criteria. - The projected group result. - The partition key of your document, if any. - - - - Groups filtered a collection of documents given a grouping criteria, - and returns a dictionary of listed document groups with keys having the different values of the grouping criteria. - - The type representing a Document. - The type of the primary key for a Document. - The type of the grouping criteria. - The type of the projected group. - A LINQ expression filter. - The grouping criteria. - The projected group result. - The partition key of your document, if any. - - - - Asynchronously returns a paginated list of the documents matching the filter condition. - - The type representing a Document. - The type of the primary key for a Document. - A LINQ expression filter. - The property selector. - Order of the sorting. - The number of documents you want to skip. Default value is 0. - The number of documents you want to take. Default value is 50. - An optional partition key. - - - - Asynchronously returns a paginated list of the documents matching the filter condition. - - The type representing a Document. - The type of the primary key for a Document. - A LINQ expression filter. - The sort definition. - The number of documents you want to skip. Default value is 0. - The number of documents you want to take. Default value is 50. - An optional partition key. - - - - Asynchronously returns a projected document matching the filter condition. - - The type representing a Document. - The type of the primary key for a Document. - The type representing the model you want to project to. - A LINQ expression filter. - The projection expression. - An optional partition key. - - - - Returns a projected document matching the filter condition. - - The type representing a Document. - The type of the primary key for a Document. - The type representing the model you want to project to. - A LINQ expression filter. - The projection expression. - An optional partition key. - - - - Asynchronously returns a list of projected documents matching the filter condition. - - The type representing a Document. - The type of the primary key for a Document. - The type representing the model you want to project to. - A LINQ expression filter. - The projection expression. - An optional partition key. - - - - Asynchronously returns a list of projected documents matching the filter condition. - - The type representing a Document. - The type of the primary key for a Document. - The type representing the model you want to project to. - The document filter. - The projection expression. - An optional partition key. - - - - The IBaseReadOnlyRepository exposes the generic Read Only functionality of the BaseMongoRepository. - - - - - The connection string. - - - - - The database name. - - - - - Asynchronously returns one document given its id. - - The type representing a Document. - The type of the primary key for a Document. - The Id of the document you want to get. - An optional partition key. - - - - Returns one document given its id. - - The type representing a Document. - The type of the primary key for a Document. - The Id of the document you want to get. - An optional partition key. - - - - Asynchronously returns one document given an expression filter. - - The type representing a Document. - The type of the primary key for a Document. - A LINQ expression filter. - An optional partition key. - - - - Returns one document given an expression filter. - - The type representing a Document. - The type of the primary key for a Document. - A LINQ expression filter. - An optional partition key. - - - - Returns a collection cursor. - - The type representing a Document. - The type of the primary key for a Document. - A LINQ expression filter. - An optional partition key. - - - - Returns true if any of the document of the collection matches the filter condition. - - The type representing a Document. - The type of the primary key for a Document. - A LINQ expression filter. - An optional partition key. - - - - Returns true if any of the document of the collection matches the filter condition. - - The type representing a Document. - The type of the primary key for a Document. - A LINQ expression filter. - An optional partition key. - - - - Asynchronously returns a list of the documents matching the filter condition. - - The type representing a Document. - The type of the primary key for a Document. - A LINQ expression filter. - An optional partition key. - - - - Returns a list of the documents matching the filter condition. - - The type representing a Document. - The type of the primary key for a Document. - A LINQ expression filter. - An optional partition key. - - - - Asynchronously counts how many documents match the filter condition. - - The type representing a Document. - The type of the primary key for a Document. - A LINQ expression filter. - An optional partitionKey - - - - Counts how many documents match the filter condition. - - The type representing a Document. - The type of the primary key for a Document. - A LINQ expression filter. - An optional partitionKey - - - - Gets the document with the maximum value of a specified property in a MongoDB collections that is satisfying the filter. - - The document type. - The type of the primary key. - A LINQ expression filter. - A property selector to order by descending. - An optional partitionKey. - - - - Gets the document with the maximum value of a specified property in a MongoDB collections that is satisfying the filter. - - The document type. - The type of the primary key. - A LINQ expression filter. - A property selector to order by descending. - An optional partitionKey. - - - - Gets the document with the minimum value of a specified property in a MongoDB collections that is satisfying the filter. - - The document type. - The type of the primary key. - A LINQ expression filter. - A property selector to order by ascending. - An optional partitionKey. - - - - Gets the document with the minimum value of a specified property in a MongoDB collections that is satisfying the filter. - - The document type. - The type of the primary key. - A LINQ expression filter. - A property selector to order by ascending. - An optional partitionKey. - - - - Gets the maximum value of a property in a mongodb collections that is satisfying the filter. - - The document type. - The type of the primary key. - The type of the value used to order the query. - A LINQ expression filter. - A property selector to order by ascending. - An optional partitionKey. - - - - Gets the maximum value of a property in a mongodb collections that is satisfying the filter. - - The document type. - The type of the primary key. - The type of the value used to order the query. - A LINQ expression filter. - A property selector to order by ascending. - An optional partitionKey. - - - - Gets the minimum value of a property in a mongodb collections that is satisfying the filter. - - The document type. - The type of the primary key. - The type of the value used to order the query. - A LINQ expression filter. - A property selector to order by ascending. - An optional partition key. - - - - Gets the minimum value of a property in a mongodb collections that is satisfying the filter. - - The document type. - The type of the primary key. - The type of the value used to order the query. - A LINQ expression filter. - A property selector to order by ascending. - An optional partition key. - - - - Sums the values of a selected field for a given filtered collection of documents. - - The type representing a Document. - The type of the primary key. - A LINQ expression filter. - The field you want to sum. - The partition key of your document, if any. - - - - Sums the values of a selected field for a given filtered collection of documents. - - The type representing a Document. - The type of the primary key. - A LINQ expression filter. - The field you want to sum. - The partition key of your document, if any. - - - - Sums the values of a selected field for a given filtered collection of documents. - - The type representing a Document. - The type of the primary key. - A LINQ expression filter. - The field you want to sum. - The partition key of your document, if any. - - - - Sums the values of a selected field for a given filtered collection of documents. - - The type representing a Document. - The type of the primary key. - A LINQ expression filter. - The field you want to sum. - The partition key of your document, if any. - - - - Asynchronously returns a projected document matching the filter condition. - - The type representing a Document. - The type of the primary key for a Document. - The type representing the model you want to project to. - - The projection expression. - An optional partition key. - - - - Returns a projected document matching the filter condition. - - The type representing a Document. - The type of the primary key for a Document. - The type representing the model you want to project to. - - The projection expression. - An optional partition key. - - - - Asynchronously returns a list of projected documents matching the filter condition. - - The type representing a Document. - The type of the primary key for a Document. - The type representing the model you want to project to. - - The projection expression. - An optional partition key. - - - - Asynchronously returns a list of projected documents matching the filter condition. - - The type representing a Document. - The type of the primary key for a Document. - The type representing the model you want to project to. - - The projection expression. - An optional partition key. - - - - Groups filtered a collection of documents given a grouping criteria, - and returns a dictionary of listed document groups with keys having the different values of the grouping criteria. - - The type representing a Document. - The type of the grouping criteria. - The type of the projected group. - The type of the primary key. - The grouping criteria. - The projected group result. - The partition key of your document, if any. - - - - Groups filtered a collection of documents given a grouping criteria, - and returns a dictionary of listed document groups with keys having the different values of the grouping criteria. - - The type representing a Document. - The type of the grouping criteria. - The type of the projected group. - The type of the primary key. - A LINQ expression filter. - The grouping criteria. - The projected group result. - The partition key of your document, if any. - - - - Asynchronously returns a paginated list of the documents matching the filter condition. - - The type representing a Document. - The type of the primary key for a Document. - A LINQ expression filter. - The property selector. - Order of the sorting. - The number of documents you want to skip. Default value is 0. - The number of documents you want to take. Default value is 50. - An optional partition key. - - - - Asynchronously returns a paginated list of the documents matching the filter condition. - - The type representing a Document. - The type of the primary key for a Document. - A LINQ expression filter. - The sort definition. - The number of documents you want to skip. Default value is 0. - The number of documents you want to take. Default value is 50. - An optional partition key. - - - - This is the interface of the IMongoDbContext which is managed by the . - - - - - The IMongoClient from the official MongoDb driver - - - - - The IMongoDatabase from the official Mongodb driver - - - - - Returns a collection for a document type that has a partition key. - - - The value of the partition key. - - - - Drops a collection having a partitionkey, use very carefully. - - - - - - Sets the Guid representation of the MongoDb Driver. - - The new value of the GuidRepresentation - - - - The IReadOnlyMongoRepository exposes the readonly functionality of the BaseMongoRepository. - - - - - Asynchronously returns one document given its id. - - The type representing a Document. - The Id of the document you want to get. - An optional partition key. - - - - Returns one document given its id. - - The type representing a Document. - The Id of the document you want to get. - An optional partition key. - - - - Asynchronously returns one document given an expression filter. - - The type representing a Document. - A LINQ expression filter. - An optional partition key. - - - - Returns one document given an expression filter. - - The type representing a Document. - A LINQ expression filter. - An optional partition key. - - - - Returns a collection cursor. - - The type representing a Document. - A LINQ expression filter. - An optional partition key. - - - - Asynchronously returns true if any of the document of the collection matches the filter condition. - - The type representing a Document. - A LINQ expression filter. - An optional partition key. - - - - Returns true if any of the document of the collection matches the filter condition. - - The type representing a Document. - A LINQ expression filter. - An optional partition key. - - - - Asynchronously returns a list of the documents matching the filter condition. - - The type representing a Document. - A LINQ expression filter. - An optional partition key. - - - - Returns a list of the documents matching the filter condition. - - The type representing a Document. - A LINQ expression filter. - An optional partition key. - - - - Asynchronously counts how many documents match the filter condition. - - The type representing a Document. - A LINQ expression filter. - An optional partition key. - - - - Counts how many documents match the filter condition. - - The type representing a Document. - A LINQ expression filter. - An optional partition key. - - - - Gets the document with the maximum value of a specified property in a MongoDB collections that is satisfying the filter. - - The document type. - A LINQ expression filter. - A property selector to order by descending. - An optional partitionKey. - - - - Gets the document with the maximum value of a specified property in a MongoDB collections that is satisfying the filter. - - The document type. - A LINQ expression filter. - A property selector to order by descending. - An optional partitionKey. - - - - - Gets the document with the maximum value of a specified property in a MongoDB collections that is satisfying the filter. - - The document type. - A LINQ expression filter. - A property selector to order by ascending. - An optional partitionKey. - - - - Gets the document with the maximum value of a specified property in a MongoDB collections that is satisfying the filter. - - The document type. - A LINQ expression filter. - A property selector to order by ascending. - An optional partitionKey. - - - - Gets the maximum value of a property in a mongodb collections that is satisfying the filter. - - The document type. - The type of the value used to order the query. - A LINQ expression filter. - A property selector to order by ascending. - An optional partitionKey. - - - - Gets the maximum value of a property in a mongodb collections that is satisfying the filter. - - The document type. - The type of the value used to order the query. - A LINQ expression filter. - A property selector to order by ascending. - An optional partitionKey. - - - - Gets the minimum value of a property in a mongodb collections that is satisfying the filter. - - The document type. - The type of the value used to order the query. - A LINQ expression filter. - A property selector to order by ascending. - An optional partition key. - - - - Gets the minimum value of a property in a mongodb collections that is satisfying the filter. - - The document type. - The type of the value used to order the query. - A LINQ expression filter. - A property selector to order by ascending. - An optional partition key. - - - - Sums the values of a selected field for a given filtered collection of documents. - - The type representing a Document. - A LINQ expression filter. - The field you want to sum. - The partition key of your document, if any. - - - - Sums the values of a selected field for a given filtered collection of documents. - - The type representing a Document. - A LINQ expression filter. - The field you want to sum. - The partition key of your document, if any. - - - - Sums the values of a selected field for a given filtered collection of documents. - - The type representing a Document. - A LINQ expression filter. - The field you want to sum. - The partition key of your document, if any. - - - - Sums the values of a selected field for a given filtered collection of documents. - - The type representing a Document. - A LINQ expression filter. - The field you want to sum. - The partition key of your document, if any. - - - - Asynchronously returns a projected document matching the filter condition. - - The type representing a Document. - The type of the primary key for a Document. - The type representing the model you want to project to. - A LINQ expression filter. - The projection expression. - An optional partition key. - - - - Returns a projected document matching the filter condition. - - The type representing a Document. - The type representing the model you want to project to. - A LINQ expression filter. - The projection expression. - An optional partition key. - - - - Asynchronously returns a list of projected documents matching the filter condition. - - The type representing a Document. - The type representing the model you want to project to. - A LINQ expression filter. - The projection expression. - An optional partition key. - - - - Asynchronously returns a list of projected documents matching the filter condition. - - The type representing a Document. - The type representing the model you want to project to. - A LINQ expression filter. - The projection expression. - An optional partition key. - - - - Groups a collection of documents given a grouping criteria, - and returns a dictionary of listed document groups with keys having the different values of the grouping criteria. - - The type representing a Document. - The type of the grouping criteria. - The type of the projected group. - The grouping criteria. - The projected group result. - The partition key of your document, if any. - - - - Groups filtered a collection of documents given a grouping criteria, - and returns a dictionary of listed document groups with keys having the different values of the grouping criteria. - - The type representing a Document. - The type of the grouping criteria. - The type of the projected group. - A LINQ expression filter. - The grouping criteria. - The projected group result. - The partition key of your document, if any. - - - - Asynchronously returns a paginated list of the documents matching the filter condition. - - The type representing a Document. - The type of the primary key for a Document. - A LINQ expression filter. - The property selector. - Order of the sorting. - The number of documents you want to skip. Default value is 0. - The number of documents you want to take. Default value is 50. - An optional partition key. - - - - Asynchronously returns a paginated list of the documents matching the filter condition. - - The type representing a Document. - The type of the primary key for a Document. - A LINQ expression filter. - The sort definition. - The number of documents you want to skip. Default value is 0. - The number of documents you want to take. Default value is 50. - An optional partition key. - - - - This attribute allows you to specify of the name of the collection. - Added at commit c117bf2a7fee378f1e02199dea9b2023a7089ee2 by https://github.com/Etchelon - who has included the CollectionName attribute into the repo to give another choice to the user on how - to name their collections. - The attribute takes precedence of course, and if not present the library will fall back to your Pluralize method. - - - - - The name of the collection in which your documents are stored. - - - - - The constructor. - - The name of the collection. - - - - Asynchronously adds a document to the collection. - Populates the Id and AddedAtUtc fields if necessary. - - The type representing a Document. - The type of the primary key for a Document. - The document you want to add. - - - - Adds a document to the collection. - Populates the Id and AddedAtUtc fields if necessary. - - The type representing a Document. - The type of the primary key for a Document. - The document you want to add. - - - - Asynchronously adds a list of documents to the collection. - Populates the Id and AddedAtUtc fields if necessary. - - The type representing a Document. - The type of the primary key for a Document. - The documents you want to add. - - - - Adds a list of documents to the collection. - Populates the Id and AddedAtUtc fields if necessary. - - The type representing a Document. - The type of the primary key for a Document. - The documents you want to add. - - - - The base Repository, it is meant to be inherited from by your custom custom MongoRepository implementation. - Its constructor must be given a connection string and a database name. - - - The base Repository, it is meant to be inherited from by your custom custom MongoRepository implementation. - Its constructor must be given a connection string and a database name. - - - The base Repository, it is meant to be inherited from by your custom custom MongoRepository implementation. - Its constructor must be given a connection string and a database name. - - - The base Repository, it is meant to be inherited from by your custom custom MongoRepository implementation. - Its constructor must be given a connection string and a database name. - - - - - Asynchronously adds a document to the collection. - Populates the Id and AddedAtUtc fields if necessary. - - The type representing a Document. - The type of the primary key for a Document. - The document you want to add. - - - - Asynchronously adds a document to the collection. - Populates the Id and AddedAtUtc fields if necessary. - - The type representing a Document. - The document you want to add. - - - - Adds a document to the collection. - Populates the Id and AddedAtUtc fields if necessary. - - The type representing a Document. - The type of the primary key for a Document. - The document you want to add. - - - - Adds a document to the collection. - Populates the Id and AddedAtUtc fields if necessary. - - The type representing a Document. - The document you want to add. - - - - Asynchronously adds a list of documents to the collection. - Populates the Id and AddedAtUtc fields if necessary. - - The type representing a Document. - The type of the primary key for a Document. - The documents you want to add. - - - - Asynchronously adds a list of documents to the collection. - Populates the Id and AddedAtUtc fields if necessary. - - The type representing a Document. - The documents you want to add. - - - - Adds a list of documents to the collection. - Populates the Id and AddedAtUtc fields if necessary. - - The type representing a Document. - The type of the primary key for a Document. - The documents you want to add. - - - - Adds a list of documents to the collection. - Populates the Id and AddedAtUtc fields if necessary. - - The type representing a Document. - The documents you want to add. - - - - Asynchronously deletes a document. - - The type representing a Document. - The document you want to delete. - The number of documents deleted. - - - - Deletes a document. - - The type representing a Document. - The document you want to delete. - The number of documents deleted. - - - - Deletes a document matching the condition of the LINQ expression filter. - - The type representing a Document. - A LINQ expression filter. - An optional partition key. - The number of documents deleted. - - - - Asynchronously deletes a document matching the condition of the LINQ expression filter. - - The type representing a Document. - A LINQ expression filter. - An optional partition key. - The number of documents deleted. - - - - Asynchronously deletes the documents matching the condition of the LINQ expression filter. - - The type representing a Document. - A LINQ expression filter. - An optional partition key. - The number of documents deleted. - - - - Asynchronously deletes a list of documents. - - The type representing a Document. - The list of documents to delete. - The number of documents deleted. - - - - Deletes a list of documents. - - The type representing a Document. - The list of documents to delete. - The number of documents deleted. - - - - Deletes the documents matching the condition of the LINQ expression filter. - - The type representing a Document. - A LINQ expression filter. - An optional partition key. - The number of documents deleted. - - - - Deletes a document. - - The type representing a Document. - The type of the primary key for a Document. - The document you want to delete. - The number of documents deleted. - - - - Asynchronously deletes a document matching the condition of the LINQ expression filter. - - The type representing a Document. - The type of the primary key for a Document. - The document you want to delete. - The number of documents deleted. - - - - Deletes a document matching the condition of the LINQ expression filter. - - The type representing a Document. - The type of the primary key for a Document. - A LINQ expression filter. - An optional partition key. - The number of documents deleted. - - - - Asynchronously deletes a document matching the condition of the LINQ expression filter. - - The type representing a Document. - The type of the primary key for a Document. - A LINQ expression filter. - An optional partition key. - The number of documents deleted. - - - - Asynchronously deletes the documents matching the condition of the LINQ expression filter. - - The type representing a Document. - The type of the primary key for a Document. - A LINQ expression filter. - An optional partition key. - The number of documents deleted. - - - - Asynchronously deletes a list of documents. - - The type representing a Document. - The type of the primary key for a Document. - The list of documents to delete. - The number of documents deleted. - - - - Deletes a list of documents. - - The type representing a Document. - The type of the primary key for a Document. - The list of documents to delete. - The number of documents deleted. - - - - Deletes the documents matching the condition of the LINQ expression filter. - - The type representing a Document. - The type of the primary key for a Document. - A LINQ expression filter. - An optional partition key. - The number of documents deleted. - - - - Returns the names of the indexes present on a collection. - - The type representing a Document. - The type of the primary key for a Document. - An optional partition key - A list containing the names of the indexes on on the concerned collection. - - - - Returns the names of the indexes present on a collection. - - The type representing a Document. - An optional partition key - A list containing the names of the indexes on on the concerned collection. - - - - Create a text index on the given field. - IndexCreationOptions can be supplied to further specify - how the creation should be done. - - The type representing a Document. - The field we want to index. - Options for creating an index. - An optional partition key. - The result of the create index operation. - - - - Create a text index on the given field. - IndexCreationOptions can be supplied to further specify - how the creation should be done. - - The type representing a Document. - The type of the primary key for a Document. - The field we want to index. - Options for creating an index. - An optional partition key. - The result of the create index operation. - - - - Creates an index on the given field in ascending order. - IndexCreationOptions can be supplied to further specify - how the creation should be done. - - The type representing a Document. - The field we want to index. - Options for creating an index. - An optional partition key. - The result of the create index operation. - - - - Creates an index on the given field in ascending order. - IndexCreationOptions can be supplied to further specify - how the creation should be done. - - The type representing a Document. - The type of the primary key for a Document. - The field we want to index. - Options for creating an index. - An optional partition key. - The result of the create index operation. - - - - Creates an index on the given field in descending order. - IndexCreationOptions can be supplied to further specify - how the creation should be done. - - The type representing a Document. - The field we want to index. - Options for creating an index. - An optional partition key. - The result of the create index operation. - - - - - - - Creates a hashed index on the given field. - IndexCreationOptions can be supplied to further specify - how the creation should be done. - - The type representing a Document. - The field we want to index. - Options for creating an index. - An optional partition key. - The result of the create index operation. - - - - - - - Creates a combined text index. - IndexCreationOptions can be supplied to further specify - how the creation should be done. - - The type representing a Document. - The fields we want to index. - Options for creating an index. - An optional partition key. - The result of the create index operation. - - - - - - - Drops the index given a field name - - The type representing a Document. - The name of the index - An optional partition key - - - - - - - The constructor taking a connection string and a database name. - - The connection string of the MongoDb server. - The name of the database against which you want to perform operations. - - - - The contructor taking a . - - A mongodb context implementing - - - - The contructor taking a . - - A mongodb context implementing - - - - Asynchronously returns a paginated list of the documents matching the filter condition. - - The type representing a Document. - A LINQ expression filter. - The number of documents you want to skip. Default value is 0. - The number of documents you want to take. Default value is 50. - An optional partition key. - - - - Asynchronously returns a paginated list of the documents matching the filter condition. - - The type representing a Document. - The type of the primary key for a Document. - A LINQ expression filter. - The number of documents you want to skip. Default value is 0. - The number of documents you want to take. Default value is 50. - An optional partition key. - - - - GetAndUpdateOne with filter - - The type representing a Document. - A LINQ expression filter. - - - - - - - GetAndUpdateOne with filter - - The type representing a Document. - The type of the primary key for a Document. - A LINQ expression filter. - - - - - - - Sets the value of the document Id if it is not set already. - - The document type. - The type of the primary key. - The document. - - - - Sets the value of the document Id if it is not set already. - - The document type. - The document. - - - - Gets a collections for a potentially partitioned document type. - - The document type. - The collection partition key. - - - - - Gets a collections for the type TDocument with a partition key. - - The document type. - The collection partition key. - - - - - Updates a document. - - The type representing a Document. - The type of the primary key for a Document. - The client session. - The document with the modifications you want to persist. - The optional cancellation token. - - - - - Updates a document. - - The type representing a Document. - The type of the primary key for a Document. - The client session. - The document with the modifications you want to persist. - The optional cancellation token. - - - - - Updates a document. - - The type representing a Document. - The type of the primary key for a Document. - The client session. - The document to modify. - The update definition. - The optional cancellation token. - - - - - Updates a document. - - The type representing a Document. - The type of the primary key for a Document. - The client session. - The document to modify. - The update definition. - The optional cancellation token. - - - - - Updates a document. - - The type representing a Document. - The type of the primary key for a Document. - The type of the field to update. - The client session. - The document to modify. - The field to update. - The value of the field. - The optional cancellation token. - - - - - Updates a document. - - The type representing a Document. - The type of the primary key for a Document. - The type of the field to update. - The client session. - The document to modify. - The field to update. - The value of the field. - The optional cancellation token. - - - - - Updates a document. - - The type representing a Document. - The type of the primary key for a Document. - The type of the field to update. - The client session. - The filter for the update. - The field to update. - The value of the field. - The optional partition key. - The optional cancellation token. - - - - - Updates a document. - - The type representing a Document. - The type of the primary key for a Document. - The type of the field to update. - The client session. - The filter for the update. - The field to update. - The value of the field. - The optional partition key. - The optional cancellation token. - - - - - Updates a document. - - The type representing a Document. - The type of the primary key for a Document. - The type of the field to update. - The client session. - The filter for the update. - The field to update. - The value of the field. - The optional partition key. - The optional cancellation token. - - - - - Updates a document. - - The type representing a Document. - The type of the primary key for a Document. - The type of the field to update. - The client session. - The filter for the update. - The field to update. - The value of the field. - The optional partition key. - The optional cancellation token. - - - - - Asynchronously Updates a document. - - The type representing a Document. - The document with the modifications you want to persist. - - - - Updates a document. - - The type representing a Document. - The document with the modifications you want to persist. - - - - Takes a document you want to modify and applies the update you have defined in MongoDb. - - The type representing a Document. - The document you want to modify. - The update definition for the document. - - - - Takes a document you want to modify and applies the update you have defined in MongoDb. - - The type representing a Document. - The document you want to modify. - The update definition for the document. - - - - Updates the property field with the given value update a property field in entities. - - The type representing a Document. - The type of the field. - The document you want to modify. - The field selector. - The new value of the property field. - - - - Updates the property field with the given value update a property field in entities. - - The type representing a Document. - The type of the field. - The document you want to modify. - The field selector. - The new value of the property field. - - - - Updates the property field with the given value update a property field in entities. - - The type representing a Document. - The type of the field. - The document filter. - The field selector. - The new value of the property field. - The value of the partition key. - - - - For the entity selected by the filter, updates the property field with the given value. - - The type representing a Document. - The type of the field. - The document filter. - The field selector. - The new value of the property field. - The partition key for the document. - - - - Updates the property field with the given value update a property field in entities. - - The type representing a Document. - The type of the field. - The document filter. - The field selector. - The new value of the property field. - The value of the partition key. - - - - For the entity selected by the filter, updates the property field with the given value. - - The type representing a Document. - The type of the field. - The document filter. - The field selector. - The new value of the property field. - The partition key for the document. - - - - Asynchronously Updates a document. - - The type representing a Document. - The type of the primary key for a Document. - The document with the modifications you want to persist. - - - - Updates a document. - - The type representing a Document. - The type of the primary key for a Document. - The document with the modifications you want to persist. - - - - Takes a document you want to modify and applies the update you have defined in MongoDb. - - The type representing a Document. - The type of the primary key for a Document. - The document you want to modify. - The update definition for the document. - - - - Takes a document you want to modify and applies the update you have defined in MongoDb. - - The type representing a Document. - The type of the primary key for a Document. - The document you want to modify. - The update definition for the document. - - - - Updates the property field with the given value update a property field in entities. - - The type representing a Document. - The type of the primary key for a Document. - The type of the field. - The document you want to modify. - The field selector. - The new value of the property field. - - - - Updates the property field with the given value update a property field in entities. - - The type representing a Document. - The type of the primary key for a Document. - The type of the field. - The document you want to modify. - The field selector. - The new value of the property field. - - - - Updates the property field with the given value. - - The type representing a Document. - The type of the primary key for a Document. - The type of the field. - The document filter. - The field selector. - The new value of the property field. - The value of the partition key. - - - - For the entity selected by the filter, updates the property field with the given value. - - The type representing a Document. - The type of the primary key for a Document. - The type of the field. - The document filter. - The field selector. - The new value of the property field. - The partition key for the document. - - - - Updates the property field with the given value update a property field in entities. - - The type representing a Document. - The type of the primary key for a Document. - The type of the field. - The document filter. - The field selector. - The new value of the property field. - The value of the partition key. - - - - For the entity selected by the filter, updates the property field with the given value. - - The type representing a Document. - The type of the primary key for a Document. - The type of the field. - The document filter. - The field selector. - The new value of the property field. - The partition key for the document. - - - - Deletes a document. - - The type representing a Document. - The type of the primary key for a Document. - The document you want to delete. - The number of documents deleted. - - - - Asynchronously deletes a document matching the condition of the LINQ expression filter. - - The type representing a Document. - The type of the primary key for a Document. - The document you want to delete. - The number of documents deleted. - - - - Deletes a document matching the condition of the LINQ expression filter. - - The type representing a Document. - The type of the primary key for a Document. - A LINQ expression filter. - An optional partition key. - The number of documents deleted. - - - - Asynchronously deletes a document matching the condition of the LINQ expression filter. - - The type representing a Document. - The type of the primary key for a Document. - A LINQ expression filter. - An optional partition key. - The number of documents deleted. - - - - Asynchronously deletes the documents matching the condition of the LINQ expression filter. - - The type representing a Document. - The type of the primary key for a Document. - A LINQ expression filter. - An optional partition key. - The number of documents deleted. - - - - Asynchronously deletes a list of documents. - - The type representing a Document. - The type of the primary key for a Document. - The list of documents to delete. - The number of documents deleted. - - - - Deletes a list of documents. - - The type representing a Document. - The type of the primary key for a Document. - The list of documents to delete. - The number of documents deleted. - - - - Deletes the documents matching the condition of the LINQ expression filter. - - The type representing a Document. - The type of the primary key for a Document. - A LINQ expression filter. - An optional partition key. - The number of documents deleted. - - - - Returns the names of the indexes present on a collection. - - The type representing a Document. - The type of the primary key for a Document. - An optional partition key - A list containing the names of the indexes on on the concerned collection. - - - - Create a text index on the given field. - IndexCreationOptions can be supplied to further specify - how the creation should be done. - - The type representing a Document. - The type of the primary key for a Document. - The field we want to index. - Options for creating an index. - An optional partition key. - The result of the create index operation. - - - - Creates an index on the given field in ascending order. - IndexCreationOptions can be supplied to further specify - how the creation should be done. - - The type representing a Document. - The type of the primary key for a Document. - The field we want to index. - Options for creating an index. - An optional partition key. - The result of the create index operation. - - - - Creates an index on the given field in descending order. - IndexCreationOptions can be supplied to further specify - how the creation should be done. - - The type representing a Document. - The type of the primary key for a Document. - The field we want to index. - Options for creating an index. - An optional partition key. - The result of the create index operation. - - - - Creates a hashed index on the given field. - IndexCreationOptions can be supplied to further specify - how the creation should be done. - - The type representing a Document. - The type of the primary key for a Document. - The field we want to index. - Options for creating an index. - An optional partition key. - The result of the create index operation. - - - - Creates a combined text index. - IndexCreationOptions can be supplied to further specify - how the creation should be done. - - The type representing a Document. - The type of the primary key for a Document. - The fields we want to index. - Options for creating an index. - An optional partition key. - The result of the create index operation. - - - - Drops the index given a field name - - The type representing a Document. - The type of the primary key for a Document. - The name of the index - An optional partition key - - - - The interface exposing data insertion functionality for Key typed repositories. - - - - - - Asynchronously adds a document to the collection. - Populates the Id and AddedAtUtc fields if necessary. - - The type representing a Document. - The document you want to add. - - - - Adds a document to the collection. - Populates the Id and AddedAtUtc fields if necessary. - - The type representing a Document. - The document you want to add. - - - - Asynchronously adds a list of documents to the collection. - Populates the Id and AddedAtUtc fields if necessary. - - The type representing a Document. - The documents you want to add. - - - - Adds a list of documents to the collection. - Populates the Id and AddedAtUtc fields if necessary. - - The type representing a Document. - The documents you want to add. - - - - The base Repository, it is meant to be inherited from by your custom custom MongoRepository implementation. - Its constructor must be given a connection string and a database name. - - - The base Repository, it is meant to be inherited from by your custom custom MongoRepository implementation. - Its constructor must be given a connection string and a database name. - - - The base Repository, it is meant to be inherited from by your custom custom MongoRepository implementation. - Its constructor must be given a connection string and a database name. - - The type of the document Id. - - - - The MongoDb accessor to insert data. - - - - - Asynchronously adds a document to the collection. - Populates the Id and AddedAtUtc fields if necessary. - - The type representing a Document. - The document you want to add. - - - - Adds a document to the collection. - Populates the Id and AddedAtUtc fields if necessary. - - The type representing a Document. - The document you want to add. - - - - Asynchronously adds a list of documents to the collection. - Populates the Id and AddedAtUtc fields if necessary. - - The type representing a Document. - The documents you want to add. - - - - Adds a list of documents to the collection. - Populates the Id and AddedAtUtc fields if necessary. - - The type representing a Document. - The documents you want to add. - - - - The MongoDb accessor to delete data. - - - - - Deletes a document. - - The type representing a Document. - The document you want to delete. - The number of documents deleted. - - - - Asynchronously deletes a document matching the condition of the LINQ expression filter. - - The type representing a Document. - The document you want to delete. - The number of documents deleted. - - - - Deletes a document matching the condition of the LINQ expression filter. - - The type representing a Document. - A LINQ expression filter. - An optional partition key. - The number of documents deleted. - - - - Asynchronously deletes a document matching the condition of the LINQ expression filter. - - The type representing a Document. - A LINQ expression filter. - An optional partition key. - The number of documents deleted. - - - - Asynchronously deletes the documents matching the condition of the LINQ expression filter. - - The type representing a Document. - A LINQ expression filter. - An optional partition key. - The number of documents deleted. - - - - Asynchronously deletes a list of documents. - - The type representing a Document. - The list of documents to delete. - The number of documents deleted. - - - - Deletes a list of documents. - - The type representing a Document. - The list of documents to delete. - The number of documents deleted. - - - - Deletes the documents matching the condition of the LINQ expression filter. - - The type representing a Document. - A LINQ expression filter. - An optional partition key. - The number of documents deleted. - - - - The MongoDb accessor to manage indexes. - - - - - Returns the names of the indexes present on a collection. - - The type representing a Document. - An optional partition key - A list containing the names of the indexes on on the concerned collection. - - - - Create a text index on the given field. - IndexCreationOptions can be supplied to further specify - how the creation should be done. - - The type representing a Document. - The field we want to index. - Options for creating an index. - An optional partition key. - The result of the create index operation. - - - - Creates an index on the given field in ascending order. - IndexCreationOptions can be supplied to further specify - how the creation should be done. - - The type representing a Document. - The field we want to index. - Options for creating an index. - An optional partition key. - The result of the create index operation. - - - - Creates an index on the given field in descending order. - IndexCreationOptions can be supplied to further specify - how the creation should be done. - - The type representing a Document. - The field we want to index. - Options for creating an index. - An optional partition key. - The result of the create index operation. - - - - Creates a hashed index on the given field. - IndexCreationOptions can be supplied to further specify - how the creation should be done. - - The type representing a Document. - The field we want to index. - Options for creating an index. - An optional partition key. - The result of the create index operation. - - - - Creates a combined text index. - IndexCreationOptions can be supplied to further specify - how the creation should be done. - - The type representing a Document. - The fields we want to index. - Options for creating an index. - An optional partition key. - The result of the create index operation. - - - - Drops the index given a field name - - The type representing a Document. - The name of the index - An optional partition key - - - - The constructor taking a connection string and a database name. - - The connection string of the MongoDb server. - The name of the database against which you want to perform operations. - - - - The contructor taking a . - - A mongodb context implementing - - - - The contructor taking a . - - A mongodb context implementing - - - - Gets a collections for a potentially partitioned document type. - - The document type. - The collection partition key. - - - - - Gets a collections for the type TDocument with a partition key. - - The document type. - The collection partition key. - - - - - Asynchronously Updates a document. - - The type representing a Document. - The document with the modifications you want to persist. - - - - Updates a document. - - The type representing a Document. - The document with the modifications you want to persist. - - - - Takes a document you want to modify and applies the update you have defined in MongoDb. - - The type representing a Document. - The document you want to modify. - The update definition for the document. - - - - Takes a document you want to modify and applies the update you have defined in MongoDb. - - The type representing a Document. - The document you want to modify. - The update definition for the document. - - - - Updates the property field with the given value update a property field in entities. - - The type representing a Document. - The type of the field. - The document you want to modify. - The field selector. - The new value of the property field. - - - - Updates the property field with the given value update a property field in entities. - - The type representing a Document. - The type of the field. - The document you want to modify. - The field selector. - The new value of the property field. - - - - Updates the property field with the given value update a property field in entities. - - The type representing a Document. - The type of the field. - The document filter. - The field selector. - The new value of the property field. - The value of the partition key. - - - - For the entity selected by the filter, updates the property field with the given value. - - The type representing a Document. - The type of the field. - The document filter. - The field selector. - The new value of the property field. - The partition key for the document. - - - - Updates the property field with the given value update a property field in entities. - - The type representing a Document. - The type of the field. - The document filter. - The field selector. - The new value of the property field. - The value of the partition key. - - - - For the entity selected by the filter, updates the property field with the given value. - - The type representing a Document. - The type of the field. - The document filter. - The field selector. - The new value of the property field. - The partition key for the document. - - - - The interface exposing deletion functionality for Key typed repositories. - - The type of the document Id. - - - - Deletes a document. - - The type representing a Document. - The document you want to delete. - The number of documents deleted. - - - - Asynchronously deletes a document matching the condition of the LINQ expression filter. - - The type representing a Document. - The document you want to delete. - The number of documents deleted. - - - - Deletes a document matching the condition of the LINQ expression filter. - - The type representing a Document. - A LINQ expression filter. - An optional partition key. - The number of documents deleted. - - - - Asynchronously deletes a document matching the condition of the LINQ expression filter. - - The type representing a Document. - A LINQ expression filter. - An optional partition key. - The number of documents deleted. - - - - Asynchronously deletes the documents matching the condition of the LINQ expression filter. - - The type representing a Document. - A LINQ expression filter. - An optional partition key. - The number of documents deleted. - - - - Asynchronously deletes a list of documents. - - The type representing a Document. - The list of documents to delete. - The number of documents deleted. - - - - Deletes a list of documents. - - The type representing a Document. - The list of documents to delete. - The number of documents deleted. - - - - Deletes the documents matching the condition of the LINQ expression filter. - - The type representing a Document. - A LINQ expression filter. - An optional partition key. - The number of documents deleted. - - - - The interface exposing index management functionality for Key typed repositories. - - - - - - Returns the names of the indexes present on a collection. - - The type representing a Document. - An optional partition key - A list containing the names of the indexes on on the concerned collection. - - - - Create a text index on the given field. - IndexCreationOptions can be supplied to further specify - how the creation should be done. - - The type representing a Document. - The field we want to index. - Options for creating an index. - An optional partition key. - The result of the create index operation. - - - - Creates an index on the given field in ascending order. - IndexCreationOptions can be supplied to further specify - how the creation should be done. - - The type representing a Document. - The field we want to index. - Options for creating an index. - An optional partition key. - The result of the create index operation. - - - - Creates an index on the given field in descending order. - IndexCreationOptions can be supplied to further specify - how the creation should be done. - - The type representing a Document. - The field we want to index. - Options for creating an index. - An optional partition key. - The result of the create index operation. - - - - Creates a hashed index on the given field. - IndexCreationOptions can be supplied to further specify - how the creation should be done. - - The type representing a Document. - The field we want to index. - Options for creating an index. - An optional partition key. - The result of the create index operation. - - - - Creates a combined text index. - IndexCreationOptions can be supplied to further specify - how the creation should be done. - - The type representing a Document. - The fields we want to index. - Options for creating an index. - An optional partition key. - The result of the create index operation. - - - - Drops the index given a field name - - The type representing a Document. - The name of the index - An optional partition key - - - - The interface exposing all the CRUD and Index functionalities for Key typed repositories. - - The type of the document Id. - - - - The base Repository, it is meant to be inherited from by your custom custom MongoRepository implementation. - Its constructor must be given a connection string and a database name. - - - - - The connection string. - - - - - The database name. - - - - - The MongoDbContext - - - - - A MongoDb Reader for read operations - - - - - The constructor taking a connection string and a database name. - - The connection string of the MongoDb server. - The name of the database against which you want to perform operations. - - - - The contructor taking a . - - A mongodb context implementing - - - - The contructor taking a . - - A mongodb context implementing - - - - Asynchronously returns one document given its id. - - The type representing a Document. - The Id of the document you want to get. - An optional partition key. - - - - Returns one document given its id. - - The type representing a Document. - The Id of the document you want to get. - An optional partition key. - - - - Asynchronously returns one document given an expression filter. - - The type representing a Document. - A LINQ expression filter. - An optional partition key. - - - - Returns one document given an expression filter. - - The type representing a Document. - A LINQ expression filter. - An optional partition key. - - - - Returns a collection cursor. - - The type representing a Document. - A LINQ expression filter. - An optional partition key. - - - - Returns true if any of the document of the collection matches the filter condition. - - The type representing a Document. - A LINQ expression filter. - An optional partition key. - - - - Returns true if any of the document of the collection matches the filter condition. - - The type representing a Document. - A LINQ expression filter. - An optional partition key. - - - - Asynchronously returns a list of the documents matching the filter condition. - - The type representing a Document. - A LINQ expression filter. - An optional partition key. - - - - Returns a list of the documents matching the filter condition. - - The type representing a Document. - A LINQ expression filter. - An optional partition key. - - - - Asynchronously counts how many documents match the filter condition. - - The type representing a Document. - A LINQ expression filter. - An optional partitionKey - - - - Counts how many documents match the filter condition. - - The type representing a Document. - A LINQ expression filter. - An optional partitionKey - - - - Gets the document with the maximum value of a specified property in a MongoDB collections that is satisfying the filter. - - The document type. - A LINQ expression filter. - A property selector to order by descending. - An optional partitionKey. - - - - Gets the document with the maximum value of a specified property in a MongoDB collections that is satisfying the filter. - - The document type. - A LINQ expression filter. - A property selector to order by descending. - An optional partitionKey. - - - - - Gets the document with the maximum value of a specified property in a MongoDB collections that is satisfying the filter. - - The document type. - A LINQ expression filter. - A property selector to order by ascending. - An optional partitionKey. - - - - Gets the document with the maximum value of a specified property in a MongoDB collections that is satisfying the filter. - - The document type. - A LINQ expression filter. - A property selector to order by ascending. - An optional partitionKey. - - - - Gets the maximum value of a property in a mongodb collections that is satisfying the filter. - - The document type. - The type of the value used to order the query. - A LINQ expression filter. - A property selector to order by ascending. - An optional partitionKey. - - - - Gets the maximum value of a property in a mongodb collections that is satisfying the filter. - - The document type. - The type of the value used to order the query. - A LINQ expression filter. - A property selector to order by ascending. - An optional partitionKey. - - - - Gets the minimum value of a property in a mongodb collections that is satisfying the filter. - - The document type. - The type of the value used to order the query. - A LINQ expression filter. - A property selector to order by ascending. - An optional partition key. - - - - Gets the minimum value of a property in a mongodb collections that is satisfying the filter. - - The document type. - The type of the value used to order the query. - A LINQ expression filter. - A property selector to order by ascending. - An optional partition key. - - - - Sums the values of a selected field for a given filtered collection of documents. - - The type representing a Document. - A LINQ expression filter. - The field you want to sum. - The partition key of your document, if any. - - - - Sums the values of a selected field for a given filtered collection of documents. - - The type representing a Document. - A LINQ expression filter. - The field you want to sum. - The partition key of your document, if any. - - - - Sums the values of a selected field for a given filtered collection of documents. - - The type representing a Document. - A LINQ expression filter. - The field you want to sum. - The partition key of your document, if any. - - - - Sums the values of a selected field for a given filtered collection of documents. - - The type representing a Document. - A LINQ expression filter. - The field you want to sum. - The partition key of your document, if any. - - - - Asynchronously returns a projected document matching the filter condition. - - The type representing a Document. - The type of the primary key for a Document. - The type representing the model you want to project to. - A LINQ expression filter. - The projection expression. - An optional partition key. - - - - Returns a projected document matching the filter condition. - - The type representing a Document. - The type representing the model you want to project to. - A LINQ expression filter. - The projection expression. - An optional partition key. - - - - Asynchronously returns a list of projected documents matching the filter condition. - - The type representing a Document. - The type representing the model you want to project to. - A LINQ expression filter. - The projection expression. - An optional partition key. - - - - Asynchronously returns a list of projected documents matching the filter condition. - - The type representing a Document. - The type representing the model you want to project to. - A LINQ expression filter. - The projection expression. - An optional partition key. - - - - Groups a collection of documents given a grouping criteria, - and returns a dictionary of listed document groups with keys having the different values of the grouping criteria. - - The type representing a Document. - The type of the grouping criteria. - The type of the projected group. - The grouping criteria. - The projected group result. - The partition key of your document, if any. - - - - Groups filtered a collection of documents given a grouping criteria, - and returns a dictionary of listed document groups with keys having the different values of the grouping criteria. - - The type representing a Document. - The type of the grouping criteria. - The type of the projected group. - A LINQ expression filter. - The grouping criteria. - The projected group result. - The partition key of your document, if any. - - - - Asynchronously returns a paginated list of the documents matching the filter condition. - - The type representing a Document. - A LINQ expression filter. - The property selector. - Order of the sorting. - The number of documents you want to skip. Default value is 0. - The number of documents you want to take. Default value is 50. - An optional partition key. - - - - Asynchronously returns a paginated list of the documents matching the filter condition. - - The type representing a Document. - A LINQ expression filter. - The sort definition. - The number of documents you want to skip. Default value is 0. - The number of documents you want to take. Default value is 50. - An optional partition key. - - - - Asynchronously Updates a document. - - The type representing a Document. - The document with the modifications you want to persist. - - - - Updates a document. - - The type representing a Document. - The document with the modifications you want to persist. - - - - Takes a document you want to modify and applies the update you have defined in MongoDb. - - The type representing a Document. - The document you want to modify. - The update definition for the document. - - - - Takes a document you want to modify and applies the update you have defined in MongoDb. - - The type representing a Document. - The document you want to modify. - The update definition for the document. - - - - Updates the property field with the given value update a property field in entities. - - The type representing a Document. - The type of the field. - The document you want to modify. - The field selector. - The new value of the property field. - - - - Updates the property field with the given value update a property field in entities. - - The type representing a Document. - The type of the field. - The document you want to modify. - The field selector. - The new value of the property field. - - - - Updates the property field with the given value update a property field in entities. - - The type representing a Document. - The type of the field. - The document filter. - The field selector. - The new value of the property field. - The value of the partition key. - - - - For the entity selected by the filter, updates the property field with the given value. - - The type representing a Document. - The type of the field. - The document filter. - The field selector. - The new value of the property field. - The partition key for the document. - - - - Updates the property field with the given value update a property field in entities. - - The type representing a Document. - The type of the field. - The document filter. - The field selector. - The new value of the property field. - The value of the partition key. - - - - For the entity selected by the filter, updates the property field with the given value. - - The type representing a Document. - The type of the field. - The document filter. - The field selector. - The new value of the property field. - The partition key for the document. - - - - This class represents a basic document that can be stored in MongoDb. - Your document must implement this class in order for the MongoDbRepository to handle them. - - - - - The document constructor - - - - - The Id of the document - - - - - The datetime in UTC at which the document was added. - - - - - The version of the schema of the document - - - - - This class represents a basic document that can be stored in MongoDb. - Your document must implement this class in order for the MongoDbRepository to handle them. - - - - - The Primary Key, which must be decorated with the [BsonId] attribute - if you want the MongoDb C# driver to consider it to be the document ID. - - - - - A version number, to indicate the version of the schema. - - - - - This class represents a basic document that can be stored in MongoDb. - Your document must implement this class in order for the MongoDbRepository to handle them. - - - - - Options for creating an index. - - - - - Gets or sets a value indicating whether the index is a unique index. - - - - - Gets or sets the index version for text indexes. - - - - - Gets or sets the index version for 2dsphere indexes. - - - - - Gets or sets a value indicating whether the index is a sparse index. - - - - - Gets or sets the index name. - - - - - Gets or sets the min value for 2d indexes. - - - - - Gets or sets the max value for 2d indexes. - - - - - Gets or sets the language override. - - - - - Gets or sets when documents expire (used with TTL indexes). - - - - - Gets or sets the default language. - - - - - Gets or sets the size of a geohash bucket. - - - - - Gets or sets the precision, in bits, used with geohash indexes. - - - - - Gets or sets a value indicating whether to create the index in the background. - - - - - Gets or sets the version of the index. - - - - - This class represents a document that can be inserted in a collection that can be partitioned. - The partition key allows for the creation of different collections having the same document schema. - This can be useful if you are planning to build a Software as a Service (SaaS) Platform, or if you want to reduce indexing. - You could for example insert Logs in different collections based on the week and year they where created, or their Log category/source. - - - - - The partition key used to partition your collection. - - - - - This class represents a document that can be inserted in a collection that can be partitioned. - The partition key allows for the creation of different collections having the same document schema. - This can be useful if you are planning to build a Software as a Service (SaaS) Platform, or if you want to reduce indexing. - You could for example insert Logs in different collections based on the week and year they where created, or their Log category/source. - - - - - The constructor, it needs a partition key. - - - - - - The name of the property used for partitioning the collection - This will not be inserted into the collection. - This partition key will be prepended to the collection name to create a new collection. - - - - - The MongoDb context - - - - - The IMongoClient from the official MongoDB driver - - - - - The IMongoDatabase from the official MongoDB driver - - - - - The constructor of the MongoDbContext, it needs an object implementing . - - An object implementing IMongoDatabase - - - - The constructor of the MongoDbContext, it needs a connection string and a database name. - - The connections string. - The name of your database. - - - - Initialise an instance of a using a connection string - - - - - - The constructor of the MongoDbContext, it needs a connection string and a database name. - - The MongoClient. - The name of your database. - - - - Returns a collection for a document type. Also handles document types with a partition key. - - The type representing a Document. - The optional value of the partition key. - - - - Drops a collection, use very carefully. - - The type representing a Document. - - - - Sets the Guid representation of the MongoDB Driver. - - The new value of the GuidRepresentation - - - - Extracts the CollectionName attribute from the entity type, if any. - - The type representing a Document. - The name of the collection in which the TDocument is stored. - - - - Initialize the Guid representation of the MongoDB Driver. - Override this method to change the default GuidRepresentation. - - - - - Given the document type and the partition key, returns the name of the collection it belongs to. - - The type representing a Document. - The value of the partition key. - The name of the collection. - - - - Very naively pluralizes a TDocument type name. - - The type representing a Document. - The pluralized document name. - - - - The base Repository, it is meant to be inherited from by your custom custom MongoRepository implementation. - Its constructor must be given a connection string and a database name. - - - - - The constructor taking a connection string and a database name. - - The connection string of the MongoDb server. - The name of the database against which you want to perform operations. - - - - The contructor taking a . - - A mongodb context implementing - - - - The contructor taking a . - - A mongodb context implementing - - - - Asynchronously returns one document given its id. - - The type representing a Document. - The type of the primary key for a Document. - The Id of the document you want to get. - An optional partition key. - - - - Returns one document given its id. - - The type representing a Document. - The type of the primary key for a Document. - The Id of the document you want to get. - An optional partition key. - - - - Asynchronously returns one document given an expression filter. - - The type representing a Document. - The type of the primary key for a Document. - A LINQ expression filter. - An optional partition key. - - - - Returns one document given an expression filter. - - The type representing a Document. - The type of the primary key for a Document. - A LINQ expression filter. - An optional partition key. - - - - Returns a collection cursor. - - The type representing a Document. - The type of the primary key for a Document. - A LINQ expression filter. - An optional partition key. - - - - Returns true if any of the document of the collection matches the filter condition. - - The type representing a Document. - The type of the primary key for a Document. - A LINQ expression filter. - An optional partition key. - - - - Returns true if any of the document of the collection matches the filter condition. - - The type representing a Document. - The type of the primary key for a Document. - A LINQ expression filter. - An optional partition key. - - - - Asynchronously returns a list of the documents matching the filter condition. - - The type representing a Document. - The type of the primary key for a Document. - A LINQ expression filter. - An optional partition key. - - - - Returns a list of the documents matching the filter condition. - - The type representing a Document. - The type of the primary key for a Document. - A LINQ expression filter. - An optional partition key. - - - - Asynchronously counts how many documents match the filter condition. - - The type representing a Document. - The type of the primary key for a Document. - A LINQ expression filter. - An optional partitionKey - - - - Counts how many documents match the filter condition. - - The type representing a Document. - The type of the primary key for a Document. - A LINQ expression filter. - An optional partitionKey - - - - Gets the document with the maximum value of a specified property in a MongoDB collections that is satisfying the filter. - - The document type. - The type of the primary key. - A LINQ expression filter. - A property selector to order by descending. - An optional partitionKey. - - - - Gets the document with the maximum value of a specified property in a MongoDB collections that is satisfying the filter. - - The document type. - The type of the primary key. - A LINQ expression filter. - A property selector to order by descending. - An optional partitionKey. - - - - Gets the document with the minimum value of a specified property in a MongoDB collections that is satisfying the filter. - - The document type. - The type of the primary key. - A LINQ expression filter. - A property selector to order by ascending. - An optional partitionKey. - - - - Gets the document with the minimum value of a specified property in a MongoDB collections that is satisfying the filter. - - The document type. - The type of the primary key. - A LINQ expression filter. - A property selector to order by ascending. - An optional partitionKey. - - - - Gets the maximum value of a property in a mongodb collections that is satisfying the filter. - - The document type. - The type of the primary key. - The type of the value used to order the query. - A LINQ expression filter. - A property selector to select the max value. - An optional partitionKey. - - - - Gets the maximum value of a property in a mongodb collections that is satisfying the filter. - - The document type. - The type of the primary key. - The type of the value used to order the query. - A LINQ expression filter. - A property selector to order by ascending. - An optional partitionKey. - - - - Gets the minimum value of a property in a mongodb collections that is satisfying the filter. - - The document type. - The type of the primary key. - The type of the value used to order the query. - A LINQ expression filter. - A property selector to order by ascending. - An optional partition key. - - - - Gets the minimum value of a property in a mongodb collections that is satisfying the filter. - - The document type. - The type of the primary key. - The type of the value used to order the query. - A LINQ expression filter. - A property selector to order by ascending. - An optional partition key. - - - - Sums the values of a selected field for a given filtered collection of documents. - - The type representing a Document. - The type of the primary key. - A LINQ expression filter. - The field you want to sum. - The partition key of your document, if any. - - - - Sums the values of a selected field for a given filtered collection of documents. - - The type representing a Document. - The type of the primary key. - A LINQ expression filter. - The field you want to sum. - The partition key of your document, if any. - - - - Sums the values of a selected field for a given filtered collection of documents. - - The type representing a Document. - The type of the primary key. - A LINQ expression filter. - The field you want to sum. - The partition key of your document, if any. - - - - Sums the values of a selected field for a given filtered collection of documents. - - The type representing a Document. - The type of the primary key. - A LINQ expression filter. - The field you want to sum. - The partition key of your document, if any. - - - - Asynchronously returns a projected document matching the filter condition. - - The type representing a Document. - The type of the primary key for a Document. - The type representing the model you want to project to. - A LINQ expression filter. - The projection expression. - An optional partition key. - - - - Returns a projected document matching the filter condition. - - The type representing a Document. - The type of the primary key for a Document. - The type representing the model you want to project to. - A LINQ expression filter. - The projection expression. - An optional partition key. - - - - Asynchronously returns a list of projected documents matching the filter condition. - - The type representing a Document. - The type of the primary key for a Document. - The type representing the model you want to project to. - A LINQ expression filter. - The projection expression. - An optional partition key. - - - - Asynchronously returns a list of projected documents matching the filter condition. - - The type representing a Document. - The type of the primary key for a Document. - The type representing the model you want to project to. - The document filter. - The projection expression. - An optional partition key. - - - - Groups filtered a collection of documents given a grouping criteria, - and returns a dictionary of listed document groups with keys having the different values of the grouping criteria. - - The type representing a Document. - The type of the primary key for a Document. - The type of the grouping criteria. - The type of the projected group. - The grouping criteria. - The projected group result. - The partition key of your document, if any. - - - - Groups filtered a collection of documents given a grouping criteria, - and returns a dictionary of listed document groups with keys having the different values of the grouping criteria. - - The type representing a Document. - The type of the primary key for a Document. - The type of the grouping criteria. - The type of the projected group. - A LINQ expression filter. - The grouping criteria. - The projected group result. - The partition key of your document, if any. - - - - Asynchronously returns a paginated list of the documents matching the filter condition. - - The type representing a Document. - The type of the primary key for a Document. - A LINQ expression filter. - The property selector. - Order of the sorting. - The number of documents you want to skip. Default value is 0. - The number of documents you want to take. Default value is 50. - An optional partition key. - - - - Asynchronously returns a paginated list of the documents matching the filter condition. - - The type representing a Document. - The type of the primary key for a Document. - A LINQ expression filter. - The sort definition. - The number of documents you want to skip. Default value is 0. - The number of documents you want to take. Default value is 50. - An optional partition key. - - - - Gets a collections for a potentially partitioned document type. - - The document type. - The type of the primary key. - The document. - - - - - Gets a collections for a potentially partitioned document type. - - The document type. - The type of the primary key. - The collection partition key. - - - - - Gets a collections for a potentially partitioned document type. - - The document type. - The document. - - - - - Gets a collections for the type TDocument with a partition key. - - The document type. - The type of the primary key. - The collection partition key. - - - - - The IdGenerator instance, used to generate Ids of different types. - - - - - Generates a random value of a given type. - - The type of the value to generate. - A value of type TKey. - - - - Container for registered Vocabularies. At present, only a single vocabulary is supported: Default. - - - - - The default vocabulary used for singular/plural irregularities. - Rules can be added to this vocabulary and will be picked up by called to Singularize() and Pluralize(). - At this time, multiple vocabularies and removing existing rules are not supported. - - - - - A container for exceptions to simple pluralization/singularization rules. - Vocabularies.Default contains an extensive list of rules for US English. - At this time, multiple vocabularies and removing existing rules are not supported. - - - - - Adds a word to the vocabulary which cannot easily be pluralized/singularized by RegEx, e.g. "person" and "people". - - The singular form of the irregular word, e.g. "person". - The plural form of the irregular word, e.g. "people". - True to match these words on their own as well as at the end of longer words. False, otherwise. - - - - Adds an uncountable word to the vocabulary, e.g. "fish". Will be ignored when plurality is changed. - - Word to be added to the list of uncountables. - - - - Adds a rule to the vocabulary that does not follow trivial rules for pluralization, e.g. "bus" -> "buses" - - RegEx to be matched, case insensitive, e.g. "(bus)es$" - RegEx replacement e.g. "$1" - - - - Adds a rule to the vocabulary that does not follow trivial rules for singularization, e.g. "vertices/indices -> "vertex/index" - - RegEx to be matched, case insensitive, e.g. ""(vert|ind)ices$"" - RegEx replacement e.g. "$1ex" - - - - Pluralizes the provided input considering irregular words - - Word to be pluralized - Normally you call Pluralize on singular words; but if you're unsure call it with false - - - - - Singularizes the provided input considering irregular words - - Word to be singularized - Normally you call Singularize on plural words; but if you're unsure call it with false - - - - - Inflector extensions - - - - - Pluralizes the provided input considering irregular words - - Word to be pluralized - Normally you call Pluralize on singular words; but if you're unsure call it with false - - - - - Singularizes the provided input considering irregular words - - Word to be singularized - Normally you call Singularize on plural words; but if you're unsure call it with false - - - - - By default, pascalize converts strings to UpperCamelCase also removing underscores - - - - - - - Same as Pascalize except that the first character is lower case - - - - - - - Separates the input words with underscore - - The string to be underscored - - - - - Replaces underscores with dashes in the string - - - - - - - Replaces underscores with hyphens in the string - - - - - - - Extensions for the random number generator - - - - - Returns a random long from min (inclusive) to max (exclusive) - - The given random instance - The inclusive minimum bound - The exclusive maximum bound. Must be greater than min - - - - Returns a random long from 0 (inclusive) to max (exclusive) - - The given random instance - The exclusive maximum bound. Must be greater than 0 - - - - Returns a random long over all possible values of long (except long.MaxValue, similar to - random.Next()) - - The given random instance - - - diff --git a/MongoDbGenericRepository/lib/netstandard2.0/MongoDbGenericRepository.deps.json b/MongoDbGenericRepository/lib/netstandard2.0/MongoDbGenericRepository.deps.json deleted file mode 100644 index f6ab406..0000000 --- a/MongoDbGenericRepository/lib/netstandard2.0/MongoDbGenericRepository.deps.json +++ /dev/null @@ -1,1612 +0,0 @@ -{ - "runtimeTarget": { - "name": ".NETStandard,Version=v2.0/", - "signature": "8f94f8443da79c121e8416f5f03e9e37ff1eb7dc" - }, - "compilationOptions": {}, - "targets": { - ".NETStandard,Version=v2.0": {}, - ".NETStandard,Version=v2.0/": { - "MongoDbGenericRepository/1.0.0": { - "dependencies": { - "MongoDB.Driver": "2.9.3", - "NETStandard.Library": "2.0.3" - }, - "runtime": { - "MongoDbGenericRepository.dll": {} - } - }, - "DnsClient/1.2.0": { - "dependencies": { - "System.Buffers": "4.4.0" - }, - "runtime": { - "lib/netstandard2.0/DnsClient.dll": { - "assemblyVersion": "1.2.0.0", - "fileVersion": "1.2.0.0" - } - } - }, - "Microsoft.NETCore.Platforms/1.1.0": {}, - "Microsoft.NETCore.Targets/1.1.0": {}, - "Microsoft.Win32.Primitives/4.3.0": { - "dependencies": { - "Microsoft.NETCore.Platforms": "1.1.0", - "Microsoft.NETCore.Targets": "1.1.0", - "System.Runtime": "4.3.0" - } - }, - "Microsoft.Win32.Registry/4.0.0": { - "dependencies": { - "Microsoft.NETCore.Platforms": "1.1.0", - "System.Collections": "4.3.0", - "System.Globalization": "4.3.0", - "System.Resources.ResourceManager": "4.3.0", - "System.Runtime": "4.3.0", - "System.Runtime.Extensions": "4.3.0", - "System.Runtime.Handles": "4.3.0", - "System.Runtime.InteropServices": "4.3.0" - } - }, - "MongoDB.Bson/2.9.3": { - "dependencies": { - "NETStandard.Library": "2.0.3", - "System.Collections.NonGeneric": "4.0.1", - "System.Diagnostics.Process": "4.1.0", - "System.Dynamic.Runtime": "4.0.11", - "System.Reflection.Emit.Lightweight": "4.3.0", - "System.Runtime.Serialization.Formatters": "4.3.0" - }, - "runtime": { - "lib/netstandard1.5/MongoDB.Bson.dll": { - "assemblyVersion": "2.9.3.0", - "fileVersion": "2.9.3.0" - } - } - }, - "MongoDB.Driver/2.9.3": { - "dependencies": { - "MongoDB.Bson": "2.9.3", - "MongoDB.Driver.Core": "2.9.3", - "NETStandard.Library": "2.0.3", - "System.ComponentModel.TypeConverter": "4.1.0", - "System.Linq.Queryable": "4.0.1" - }, - "runtime": { - "lib/netstandard1.5/MongoDB.Driver.dll": { - "assemblyVersion": "2.9.3.0", - "fileVersion": "2.9.3.0" - } - } - }, - "MongoDB.Driver.Core/2.9.3": { - "dependencies": { - "DnsClient": "1.2.0", - "MongoDB.Bson": "2.9.3", - "NETStandard.Library": "2.0.3", - "SharpCompress": "0.23.0", - "System.Collections.Specialized": "4.0.1", - "System.Diagnostics.TextWriterTraceListener": "4.0.0", - "System.Diagnostics.TraceSource": "4.0.0", - "System.Net.NameResolution": "4.3.0", - "System.Net.Security": "4.3.2", - "System.Security.SecureString": "4.0.0", - "System.Threading.Thread": "4.3.0" - }, - "runtime": { - "lib/netstandard1.5/MongoDB.Driver.Core.dll": { - "assemblyVersion": "2.9.3.0", - "fileVersion": "2.9.3.0" - } - } - }, - "NETStandard.Library/2.0.3": { - "dependencies": { - "Microsoft.NETCore.Platforms": "1.1.0" - } - }, - "runtime.debian.8-x64.runtime.native.System.Security.Cryptography.OpenSsl/4.3.2": {}, - "runtime.fedora.23-x64.runtime.native.System.Security.Cryptography.OpenSsl/4.3.2": {}, - "runtime.fedora.24-x64.runtime.native.System.Security.Cryptography.OpenSsl/4.3.2": {}, - "runtime.native.System/4.3.0": { - "dependencies": { - "Microsoft.NETCore.Platforms": "1.1.0", - "Microsoft.NETCore.Targets": "1.1.0" - } - }, - "runtime.native.System.Net.Http/4.3.0": { - "dependencies": { - "Microsoft.NETCore.Platforms": "1.1.0", - "Microsoft.NETCore.Targets": "1.1.0" - } - }, - "runtime.native.System.Net.Security/4.3.0": { - "dependencies": { - "Microsoft.NETCore.Platforms": "1.1.0", - "Microsoft.NETCore.Targets": "1.1.0" - } - }, - "runtime.native.System.Security.Cryptography.Apple/4.3.0": { - "dependencies": { - "runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.Apple": "4.3.0" - } - }, - "runtime.native.System.Security.Cryptography.OpenSsl/4.3.2": { - "dependencies": { - "runtime.debian.8-x64.runtime.native.System.Security.Cryptography.OpenSsl": "4.3.2", - "runtime.fedora.23-x64.runtime.native.System.Security.Cryptography.OpenSsl": "4.3.2", - "runtime.fedora.24-x64.runtime.native.System.Security.Cryptography.OpenSsl": "4.3.2", - "runtime.opensuse.13.2-x64.runtime.native.System.Security.Cryptography.OpenSsl": "4.3.2", - "runtime.opensuse.42.1-x64.runtime.native.System.Security.Cryptography.OpenSsl": "4.3.2", - "runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.OpenSsl": "4.3.2", - "runtime.rhel.7-x64.runtime.native.System.Security.Cryptography.OpenSsl": "4.3.2", - "runtime.ubuntu.14.04-x64.runtime.native.System.Security.Cryptography.OpenSsl": "4.3.2", - "runtime.ubuntu.16.04-x64.runtime.native.System.Security.Cryptography.OpenSsl": "4.3.2", - "runtime.ubuntu.16.10-x64.runtime.native.System.Security.Cryptography.OpenSsl": "4.3.2" - } - }, - "runtime.opensuse.13.2-x64.runtime.native.System.Security.Cryptography.OpenSsl/4.3.2": {}, - "runtime.opensuse.42.1-x64.runtime.native.System.Security.Cryptography.OpenSsl/4.3.2": {}, - "runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.Apple/4.3.0": {}, - "runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.OpenSsl/4.3.2": {}, - "runtime.rhel.7-x64.runtime.native.System.Security.Cryptography.OpenSsl/4.3.2": {}, - "runtime.ubuntu.14.04-x64.runtime.native.System.Security.Cryptography.OpenSsl/4.3.2": {}, - "runtime.ubuntu.16.04-x64.runtime.native.System.Security.Cryptography.OpenSsl/4.3.2": {}, - "runtime.ubuntu.16.10-x64.runtime.native.System.Security.Cryptography.OpenSsl/4.3.2": {}, - "SharpCompress/0.23.0": { - "dependencies": { - "System.Text.Encoding.CodePages": "4.5.1" - }, - "runtime": { - "lib/netstandard2.0/SharpCompress.dll": { - "assemblyVersion": "0.23.0.0", - "fileVersion": "0.23.0.0" - } - } - }, - "System.Buffers/4.4.0": { - "runtime": { - "lib/netstandard2.0/System.Buffers.dll": { - "assemblyVersion": "4.0.2.0", - "fileVersion": "4.6.25519.3" - } - } - }, - "System.Collections/4.3.0": { - "dependencies": { - "Microsoft.NETCore.Platforms": "1.1.0", - "Microsoft.NETCore.Targets": "1.1.0", - "System.Runtime": "4.3.0" - } - }, - "System.Collections.Concurrent/4.3.0": { - "dependencies": { - "System.Collections": "4.3.0", - "System.Diagnostics.Debug": "4.3.0", - "System.Diagnostics.Tracing": "4.3.0", - "System.Globalization": "4.3.0", - "System.Reflection": "4.3.0", - "System.Resources.ResourceManager": "4.3.0", - "System.Runtime": "4.3.0", - "System.Runtime.Extensions": "4.3.0", - "System.Threading": "4.3.0", - "System.Threading.Tasks": "4.3.0" - }, - "runtime": { - "lib/netstandard1.3/System.Collections.Concurrent.dll": { - "assemblyVersion": "4.0.13.0", - "fileVersion": "4.6.24705.1" - } - } - }, - "System.Collections.NonGeneric/4.0.1": { - "dependencies": { - "System.Diagnostics.Debug": "4.3.0", - "System.Globalization": "4.3.0", - "System.Resources.ResourceManager": "4.3.0", - "System.Runtime": "4.3.0", - "System.Runtime.Extensions": "4.3.0", - "System.Threading": "4.3.0" - }, - "runtime": { - "lib/netstandard1.3/System.Collections.NonGeneric.dll": { - "assemblyVersion": "4.0.1.0", - "fileVersion": "1.0.24212.1" - } - } - }, - "System.Collections.Specialized/4.0.1": { - "dependencies": { - "System.Collections.NonGeneric": "4.0.1", - "System.Globalization": "4.3.0", - "System.Globalization.Extensions": "4.3.0", - "System.Resources.ResourceManager": "4.3.0", - "System.Runtime": "4.3.0", - "System.Runtime.Extensions": "4.3.0", - "System.Threading": "4.3.0" - }, - "runtime": { - "lib/netstandard1.3/System.Collections.Specialized.dll": { - "assemblyVersion": "4.0.1.0", - "fileVersion": "1.0.24212.1" - } - } - }, - "System.ComponentModel/4.0.1": { - "dependencies": { - "System.Runtime": "4.3.0" - }, - "runtime": { - "lib/netstandard1.3/System.ComponentModel.dll": { - "assemblyVersion": "4.0.1.0", - "fileVersion": "1.0.24212.1" - } - } - }, - "System.ComponentModel.Primitives/4.1.0": { - "dependencies": { - "System.ComponentModel": "4.0.1", - "System.Resources.ResourceManager": "4.3.0", - "System.Runtime": "4.3.0" - }, - "runtime": { - "lib/netstandard1.0/System.ComponentModel.Primitives.dll": { - "assemblyVersion": "4.1.0.0", - "fileVersion": "1.0.24212.1" - } - } - }, - "System.ComponentModel.TypeConverter/4.1.0": { - "dependencies": { - "System.Collections": "4.3.0", - "System.Collections.NonGeneric": "4.0.1", - "System.Collections.Specialized": "4.0.1", - "System.ComponentModel": "4.0.1", - "System.ComponentModel.Primitives": "4.1.0", - "System.Globalization": "4.3.0", - "System.Linq": "4.3.0", - "System.Reflection": "4.3.0", - "System.Reflection.Extensions": "4.0.1", - "System.Reflection.Primitives": "4.3.0", - "System.Reflection.TypeExtensions": "4.1.0", - "System.Resources.ResourceManager": "4.3.0", - "System.Runtime": "4.3.0", - "System.Runtime.Extensions": "4.3.0", - "System.Threading": "4.3.0" - }, - "runtime": { - "lib/netstandard1.5/System.ComponentModel.TypeConverter.dll": { - "assemblyVersion": "4.1.0.0", - "fileVersion": "1.0.24212.1" - } - } - }, - "System.Diagnostics.Debug/4.3.0": { - "dependencies": { - "Microsoft.NETCore.Platforms": "1.1.0", - "Microsoft.NETCore.Targets": "1.1.0", - "System.Runtime": "4.3.0" - } - }, - "System.Diagnostics.Process/4.1.0": { - "dependencies": { - "Microsoft.NETCore.Platforms": "1.1.0", - "Microsoft.Win32.Primitives": "4.3.0", - "Microsoft.Win32.Registry": "4.0.0", - "System.Collections": "4.3.0", - "System.Diagnostics.Debug": "4.3.0", - "System.Globalization": "4.3.0", - "System.IO": "4.3.0", - "System.IO.FileSystem": "4.3.0", - "System.IO.FileSystem.Primitives": "4.3.0", - "System.Resources.ResourceManager": "4.3.0", - "System.Runtime": "4.3.0", - "System.Runtime.Extensions": "4.3.0", - "System.Runtime.Handles": "4.3.0", - "System.Runtime.InteropServices": "4.3.0", - "System.Text.Encoding": "4.3.0", - "System.Text.Encoding.Extensions": "4.0.11", - "System.Threading": "4.3.0", - "System.Threading.Tasks": "4.3.0", - "System.Threading.Thread": "4.3.0", - "System.Threading.ThreadPool": "4.3.0", - "runtime.native.System": "4.3.0" - } - }, - "System.Diagnostics.TextWriterTraceListener/4.0.0": { - "dependencies": { - "System.Diagnostics.TraceSource": "4.0.0", - "System.Globalization": "4.3.0", - "System.IO": "4.3.0", - "System.Resources.ResourceManager": "4.3.0", - "System.Runtime": "4.3.0", - "System.Threading": "4.3.0" - }, - "runtime": { - "lib/netstandard1.3/System.Diagnostics.TextWriterTraceListener.dll": { - "assemblyVersion": "4.0.0.0", - "fileVersion": "1.0.24212.1" - } - } - }, - "System.Diagnostics.TraceSource/4.0.0": { - "dependencies": { - "Microsoft.NETCore.Platforms": "1.1.0", - "System.Collections": "4.3.0", - "System.Diagnostics.Debug": "4.3.0", - "System.Globalization": "4.3.0", - "System.Resources.ResourceManager": "4.3.0", - "System.Runtime": "4.3.0", - "System.Runtime.Extensions": "4.3.0", - "System.Threading": "4.3.0", - "runtime.native.System": "4.3.0" - } - }, - "System.Diagnostics.Tracing/4.3.0": { - "dependencies": { - "Microsoft.NETCore.Platforms": "1.1.0", - "Microsoft.NETCore.Targets": "1.1.0", - "System.Runtime": "4.3.0" - } - }, - "System.Dynamic.Runtime/4.0.11": { - "dependencies": { - "System.Collections": "4.3.0", - "System.Diagnostics.Debug": "4.3.0", - "System.Globalization": "4.3.0", - "System.Linq": "4.3.0", - "System.Linq.Expressions": "4.1.0", - "System.ObjectModel": "4.0.12", - "System.Reflection": "4.3.0", - "System.Reflection.Emit": "4.0.1", - "System.Reflection.Emit.ILGeneration": "4.3.0", - "System.Reflection.Primitives": "4.3.0", - "System.Reflection.TypeExtensions": "4.1.0", - "System.Resources.ResourceManager": "4.3.0", - "System.Runtime": "4.3.0", - "System.Runtime.Extensions": "4.3.0", - "System.Threading": "4.3.0" - }, - "runtime": { - "lib/netstandard1.3/System.Dynamic.Runtime.dll": { - "assemblyVersion": "4.0.11.0", - "fileVersion": "1.0.24212.1" - } - } - }, - "System.Globalization/4.3.0": { - "dependencies": { - "Microsoft.NETCore.Platforms": "1.1.0", - "Microsoft.NETCore.Targets": "1.1.0", - "System.Runtime": "4.3.0" - } - }, - "System.Globalization.Calendars/4.3.0": { - "dependencies": { - "Microsoft.NETCore.Platforms": "1.1.0", - "Microsoft.NETCore.Targets": "1.1.0", - "System.Globalization": "4.3.0", - "System.Runtime": "4.3.0" - } - }, - "System.Globalization.Extensions/4.3.0": { - "dependencies": { - "Microsoft.NETCore.Platforms": "1.1.0", - "System.Globalization": "4.3.0", - "System.Resources.ResourceManager": "4.3.0", - "System.Runtime": "4.3.0", - "System.Runtime.Extensions": "4.3.0", - "System.Runtime.InteropServices": "4.3.0" - } - }, - "System.IO/4.3.0": { - "dependencies": { - "Microsoft.NETCore.Platforms": "1.1.0", - "Microsoft.NETCore.Targets": "1.1.0", - "System.Runtime": "4.3.0", - "System.Text.Encoding": "4.3.0", - "System.Threading.Tasks": "4.3.0" - } - }, - "System.IO.FileSystem/4.3.0": { - "dependencies": { - "Microsoft.NETCore.Platforms": "1.1.0", - "Microsoft.NETCore.Targets": "1.1.0", - "System.IO": "4.3.0", - "System.IO.FileSystem.Primitives": "4.3.0", - "System.Runtime": "4.3.0", - "System.Runtime.Handles": "4.3.0", - "System.Text.Encoding": "4.3.0", - "System.Threading.Tasks": "4.3.0" - } - }, - "System.IO.FileSystem.Primitives/4.3.0": { - "dependencies": { - "System.Runtime": "4.3.0" - }, - "runtime": { - "lib/netstandard1.3/System.IO.FileSystem.Primitives.dll": { - "assemblyVersion": "4.0.2.0", - "fileVersion": "4.6.24705.1" - } - } - }, - "System.Linq/4.3.0": { - "dependencies": { - "System.Collections": "4.3.0", - "System.Diagnostics.Debug": "4.3.0", - "System.Resources.ResourceManager": "4.3.0", - "System.Runtime": "4.3.0", - "System.Runtime.Extensions": "4.3.0" - }, - "runtime": { - "lib/netstandard1.6/System.Linq.dll": { - "assemblyVersion": "4.1.1.0", - "fileVersion": "4.6.24705.1" - } - } - }, - "System.Linq.Expressions/4.1.0": { - "dependencies": { - "System.Collections": "4.3.0", - "System.Diagnostics.Debug": "4.3.0", - "System.Globalization": "4.3.0", - "System.IO": "4.3.0", - "System.Linq": "4.3.0", - "System.ObjectModel": "4.0.12", - "System.Reflection": "4.3.0", - "System.Reflection.Emit": "4.0.1", - "System.Reflection.Emit.ILGeneration": "4.3.0", - "System.Reflection.Emit.Lightweight": "4.3.0", - "System.Reflection.Extensions": "4.0.1", - "System.Reflection.Primitives": "4.3.0", - "System.Reflection.TypeExtensions": "4.1.0", - "System.Resources.ResourceManager": "4.3.0", - "System.Runtime": "4.3.0", - "System.Runtime.Extensions": "4.3.0", - "System.Threading": "4.3.0" - }, - "runtime": { - "lib/netstandard1.6/System.Linq.Expressions.dll": { - "assemblyVersion": "4.1.0.0", - "fileVersion": "1.0.24212.1" - } - } - }, - "System.Linq.Queryable/4.0.1": { - "dependencies": { - "System.Collections": "4.3.0", - "System.Diagnostics.Debug": "4.3.0", - "System.Linq": "4.3.0", - "System.Linq.Expressions": "4.1.0", - "System.Reflection": "4.3.0", - "System.Reflection.Extensions": "4.0.1", - "System.Resources.ResourceManager": "4.3.0", - "System.Runtime": "4.3.0" - }, - "runtime": { - "lib/netstandard1.3/System.Linq.Queryable.dll": { - "assemblyVersion": "4.0.1.0", - "fileVersion": "1.0.24212.1" - } - } - }, - "System.Net.NameResolution/4.3.0": { - "dependencies": { - "Microsoft.NETCore.Platforms": "1.1.0", - "System.Collections": "4.3.0", - "System.Diagnostics.Tracing": "4.3.0", - "System.Globalization": "4.3.0", - "System.Net.Primitives": "4.3.0", - "System.Resources.ResourceManager": "4.3.0", - "System.Runtime": "4.3.0", - "System.Runtime.Extensions": "4.3.0", - "System.Runtime.Handles": "4.3.0", - "System.Runtime.InteropServices": "4.3.0", - "System.Security.Principal.Windows": "4.3.0", - "System.Threading": "4.3.0", - "System.Threading.Tasks": "4.3.0", - "runtime.native.System": "4.3.0" - } - }, - "System.Net.Primitives/4.3.0": { - "dependencies": { - "Microsoft.NETCore.Platforms": "1.1.0", - "Microsoft.NETCore.Targets": "1.1.0", - "System.Runtime": "4.3.0", - "System.Runtime.Handles": "4.3.0" - } - }, - "System.Net.Security/4.3.2": { - "dependencies": { - "Microsoft.NETCore.Platforms": "1.1.0", - "Microsoft.Win32.Primitives": "4.3.0", - "System.Collections": "4.3.0", - "System.Collections.Concurrent": "4.3.0", - "System.Diagnostics.Tracing": "4.3.0", - "System.Globalization": "4.3.0", - "System.Globalization.Extensions": "4.3.0", - "System.IO": "4.3.0", - "System.Net.Primitives": "4.3.0", - "System.Resources.ResourceManager": "4.3.0", - "System.Runtime": "4.3.0", - "System.Runtime.Extensions": "4.3.0", - "System.Runtime.Handles": "4.3.0", - "System.Runtime.InteropServices": "4.3.0", - "System.Security.Claims": "4.3.0", - "System.Security.Cryptography.Algorithms": "4.3.0", - "System.Security.Cryptography.Encoding": "4.3.0", - "System.Security.Cryptography.OpenSsl": "4.3.0", - "System.Security.Cryptography.Primitives": "4.3.0", - "System.Security.Cryptography.X509Certificates": "4.3.0", - "System.Security.Principal": "4.3.0", - "System.Text.Encoding": "4.3.0", - "System.Threading": "4.3.0", - "System.Threading.Tasks": "4.3.0", - "System.Threading.ThreadPool": "4.3.0", - "runtime.native.System": "4.3.0", - "runtime.native.System.Net.Security": "4.3.0", - "runtime.native.System.Security.Cryptography.OpenSsl": "4.3.2" - } - }, - "System.ObjectModel/4.0.12": { - "dependencies": { - "System.Collections": "4.3.0", - "System.Diagnostics.Debug": "4.3.0", - "System.Resources.ResourceManager": "4.3.0", - "System.Runtime": "4.3.0", - "System.Threading": "4.3.0" - }, - "runtime": { - "lib/netstandard1.3/System.ObjectModel.dll": { - "assemblyVersion": "4.0.12.0", - "fileVersion": "1.0.24212.1" - } - } - }, - "System.Reflection/4.3.0": { - "dependencies": { - "Microsoft.NETCore.Platforms": "1.1.0", - "Microsoft.NETCore.Targets": "1.1.0", - "System.IO": "4.3.0", - "System.Reflection.Primitives": "4.3.0", - "System.Runtime": "4.3.0" - } - }, - "System.Reflection.Emit/4.0.1": { - "dependencies": { - "System.IO": "4.3.0", - "System.Reflection": "4.3.0", - "System.Reflection.Emit.ILGeneration": "4.3.0", - "System.Reflection.Primitives": "4.3.0", - "System.Runtime": "4.3.0" - }, - "runtime": { - "lib/netstandard1.3/System.Reflection.Emit.dll": { - "assemblyVersion": "4.0.1.0", - "fileVersion": "1.0.24212.1" - } - } - }, - "System.Reflection.Emit.ILGeneration/4.3.0": { - "dependencies": { - "System.Reflection": "4.3.0", - "System.Reflection.Primitives": "4.3.0", - "System.Runtime": "4.3.0" - }, - "runtime": { - "lib/netstandard1.3/System.Reflection.Emit.ILGeneration.dll": { - "assemblyVersion": "4.0.2.0", - "fileVersion": "4.6.24705.1" - } - } - }, - "System.Reflection.Emit.Lightweight/4.3.0": { - "dependencies": { - "System.Reflection": "4.3.0", - "System.Reflection.Emit.ILGeneration": "4.3.0", - "System.Reflection.Primitives": "4.3.0", - "System.Runtime": "4.3.0" - }, - "runtime": { - "lib/netstandard1.3/System.Reflection.Emit.Lightweight.dll": { - "assemblyVersion": "4.0.2.0", - "fileVersion": "4.6.24705.1" - } - } - }, - "System.Reflection.Extensions/4.0.1": { - "dependencies": { - "Microsoft.NETCore.Platforms": "1.1.0", - "Microsoft.NETCore.Targets": "1.1.0", - "System.Reflection": "4.3.0", - "System.Runtime": "4.3.0" - } - }, - "System.Reflection.Primitives/4.3.0": { - "dependencies": { - "Microsoft.NETCore.Platforms": "1.1.0", - "Microsoft.NETCore.Targets": "1.1.0", - "System.Runtime": "4.3.0" - } - }, - "System.Reflection.TypeExtensions/4.1.0": { - "dependencies": { - "System.Reflection": "4.3.0", - "System.Runtime": "4.3.0" - }, - "runtime": { - "lib/netstandard1.5/System.Reflection.TypeExtensions.dll": { - "assemblyVersion": "4.1.0.0", - "fileVersion": "1.0.24212.1" - } - } - }, - "System.Resources.ResourceManager/4.3.0": { - "dependencies": { - "Microsoft.NETCore.Platforms": "1.1.0", - "Microsoft.NETCore.Targets": "1.1.0", - "System.Globalization": "4.3.0", - "System.Reflection": "4.3.0", - "System.Runtime": "4.3.0" - } - }, - "System.Runtime/4.3.0": { - "dependencies": { - "Microsoft.NETCore.Platforms": "1.1.0", - "Microsoft.NETCore.Targets": "1.1.0" - } - }, - "System.Runtime.CompilerServices.Unsafe/4.5.2": { - "runtime": { - "lib/netstandard2.0/System.Runtime.CompilerServices.Unsafe.dll": { - "assemblyVersion": "4.0.4.1", - "fileVersion": "4.6.26919.2" - } - } - }, - "System.Runtime.Extensions/4.3.0": { - "dependencies": { - "Microsoft.NETCore.Platforms": "1.1.0", - "Microsoft.NETCore.Targets": "1.1.0", - "System.Runtime": "4.3.0" - } - }, - "System.Runtime.Handles/4.3.0": { - "dependencies": { - "Microsoft.NETCore.Platforms": "1.1.0", - "Microsoft.NETCore.Targets": "1.1.0", - "System.Runtime": "4.3.0" - } - }, - "System.Runtime.InteropServices/4.3.0": { - "dependencies": { - "Microsoft.NETCore.Platforms": "1.1.0", - "Microsoft.NETCore.Targets": "1.1.0", - "System.Reflection": "4.3.0", - "System.Reflection.Primitives": "4.3.0", - "System.Runtime": "4.3.0", - "System.Runtime.Handles": "4.3.0" - } - }, - "System.Runtime.Numerics/4.3.0": { - "dependencies": { - "System.Globalization": "4.3.0", - "System.Resources.ResourceManager": "4.3.0", - "System.Runtime": "4.3.0", - "System.Runtime.Extensions": "4.3.0" - }, - "runtime": { - "lib/netstandard1.3/System.Runtime.Numerics.dll": { - "assemblyVersion": "4.0.2.0", - "fileVersion": "4.6.24705.1" - } - } - }, - "System.Runtime.Serialization.Formatters/4.3.0": { - "dependencies": { - "System.Collections": "4.3.0", - "System.Reflection": "4.3.0", - "System.Resources.ResourceManager": "4.3.0", - "System.Runtime": "4.3.0", - "System.Runtime.Serialization.Primitives": "4.3.0" - }, - "runtime": { - "lib/netstandard1.4/System.Runtime.Serialization.Formatters.dll": { - "assemblyVersion": "4.0.1.0", - "fileVersion": "4.6.24705.1" - } - } - }, - "System.Runtime.Serialization.Primitives/4.3.0": { - "dependencies": { - "System.Resources.ResourceManager": "4.3.0", - "System.Runtime": "4.3.0" - }, - "runtime": { - "lib/netstandard1.3/System.Runtime.Serialization.Primitives.dll": { - "assemblyVersion": "4.1.2.0", - "fileVersion": "4.6.24705.1" - } - } - }, - "System.Security.Claims/4.3.0": { - "dependencies": { - "System.Collections": "4.3.0", - "System.Globalization": "4.3.0", - "System.IO": "4.3.0", - "System.Resources.ResourceManager": "4.3.0", - "System.Runtime": "4.3.0", - "System.Runtime.Extensions": "4.3.0", - "System.Security.Principal": "4.3.0" - }, - "runtime": { - "lib/netstandard1.3/System.Security.Claims.dll": { - "assemblyVersion": "4.0.2.0", - "fileVersion": "4.6.24705.1" - } - } - }, - "System.Security.Cryptography.Algorithms/4.3.0": { - "dependencies": { - "Microsoft.NETCore.Platforms": "1.1.0", - "System.Collections": "4.3.0", - "System.IO": "4.3.0", - "System.Resources.ResourceManager": "4.3.0", - "System.Runtime": "4.3.0", - "System.Runtime.Extensions": "4.3.0", - "System.Runtime.Handles": "4.3.0", - "System.Runtime.InteropServices": "4.3.0", - "System.Runtime.Numerics": "4.3.0", - "System.Security.Cryptography.Encoding": "4.3.0", - "System.Security.Cryptography.Primitives": "4.3.0", - "System.Text.Encoding": "4.3.0", - "runtime.native.System.Security.Cryptography.Apple": "4.3.0", - "runtime.native.System.Security.Cryptography.OpenSsl": "4.3.2" - } - }, - "System.Security.Cryptography.Cng/4.3.0": { - "dependencies": { - "Microsoft.NETCore.Platforms": "1.1.0", - "System.IO": "4.3.0", - "System.Resources.ResourceManager": "4.3.0", - "System.Runtime": "4.3.0", - "System.Runtime.Extensions": "4.3.0", - "System.Runtime.Handles": "4.3.0", - "System.Runtime.InteropServices": "4.3.0", - "System.Security.Cryptography.Algorithms": "4.3.0", - "System.Security.Cryptography.Encoding": "4.3.0", - "System.Security.Cryptography.Primitives": "4.3.0", - "System.Text.Encoding": "4.3.0" - } - }, - "System.Security.Cryptography.Csp/4.3.0": { - "dependencies": { - "Microsoft.NETCore.Platforms": "1.1.0", - "System.IO": "4.3.0", - "System.Reflection": "4.3.0", - "System.Resources.ResourceManager": "4.3.0", - "System.Runtime": "4.3.0", - "System.Runtime.Extensions": "4.3.0", - "System.Runtime.Handles": "4.3.0", - "System.Runtime.InteropServices": "4.3.0", - "System.Security.Cryptography.Algorithms": "4.3.0", - "System.Security.Cryptography.Encoding": "4.3.0", - "System.Security.Cryptography.Primitives": "4.3.0", - "System.Text.Encoding": "4.3.0", - "System.Threading": "4.3.0" - } - }, - "System.Security.Cryptography.Encoding/4.3.0": { - "dependencies": { - "Microsoft.NETCore.Platforms": "1.1.0", - "System.Collections": "4.3.0", - "System.Collections.Concurrent": "4.3.0", - "System.Linq": "4.3.0", - "System.Resources.ResourceManager": "4.3.0", - "System.Runtime": "4.3.0", - "System.Runtime.Extensions": "4.3.0", - "System.Runtime.Handles": "4.3.0", - "System.Runtime.InteropServices": "4.3.0", - "System.Security.Cryptography.Primitives": "4.3.0", - "System.Text.Encoding": "4.3.0", - "runtime.native.System.Security.Cryptography.OpenSsl": "4.3.2" - } - }, - "System.Security.Cryptography.OpenSsl/4.3.0": { - "dependencies": { - "System.Collections": "4.3.0", - "System.IO": "4.3.0", - "System.Resources.ResourceManager": "4.3.0", - "System.Runtime": "4.3.0", - "System.Runtime.Extensions": "4.3.0", - "System.Runtime.Handles": "4.3.0", - "System.Runtime.InteropServices": "4.3.0", - "System.Runtime.Numerics": "4.3.0", - "System.Security.Cryptography.Algorithms": "4.3.0", - "System.Security.Cryptography.Encoding": "4.3.0", - "System.Security.Cryptography.Primitives": "4.3.0", - "System.Text.Encoding": "4.3.0", - "runtime.native.System.Security.Cryptography.OpenSsl": "4.3.2" - }, - "runtime": { - "lib/netstandard1.6/System.Security.Cryptography.OpenSsl.dll": { - "assemblyVersion": "4.0.0.0", - "fileVersion": "1.0.24212.1" - } - } - }, - "System.Security.Cryptography.Primitives/4.3.0": { - "dependencies": { - "System.Diagnostics.Debug": "4.3.0", - "System.Globalization": "4.3.0", - "System.IO": "4.3.0", - "System.Resources.ResourceManager": "4.3.0", - "System.Runtime": "4.3.0", - "System.Threading": "4.3.0", - "System.Threading.Tasks": "4.3.0" - }, - "runtime": { - "lib/netstandard1.3/System.Security.Cryptography.Primitives.dll": { - "assemblyVersion": "4.0.1.0", - "fileVersion": "4.6.24705.1" - } - } - }, - "System.Security.Cryptography.X509Certificates/4.3.0": { - "dependencies": { - "Microsoft.NETCore.Platforms": "1.1.0", - "System.Collections": "4.3.0", - "System.Diagnostics.Debug": "4.3.0", - "System.Globalization": "4.3.0", - "System.Globalization.Calendars": "4.3.0", - "System.IO": "4.3.0", - "System.IO.FileSystem": "4.3.0", - "System.IO.FileSystem.Primitives": "4.3.0", - "System.Resources.ResourceManager": "4.3.0", - "System.Runtime": "4.3.0", - "System.Runtime.Extensions": "4.3.0", - "System.Runtime.Handles": "4.3.0", - "System.Runtime.InteropServices": "4.3.0", - "System.Runtime.Numerics": "4.3.0", - "System.Security.Cryptography.Algorithms": "4.3.0", - "System.Security.Cryptography.Cng": "4.3.0", - "System.Security.Cryptography.Csp": "4.3.0", - "System.Security.Cryptography.Encoding": "4.3.0", - "System.Security.Cryptography.OpenSsl": "4.3.0", - "System.Security.Cryptography.Primitives": "4.3.0", - "System.Text.Encoding": "4.3.0", - "System.Threading": "4.3.0", - "runtime.native.System": "4.3.0", - "runtime.native.System.Net.Http": "4.3.0", - "runtime.native.System.Security.Cryptography.OpenSsl": "4.3.2" - } - }, - "System.Security.Principal/4.3.0": { - "dependencies": { - "System.Runtime": "4.3.0" - }, - "runtime": { - "lib/netstandard1.0/System.Security.Principal.dll": { - "assemblyVersion": "4.0.2.0", - "fileVersion": "4.6.24705.1" - } - } - }, - "System.Security.Principal.Windows/4.3.0": { - "dependencies": { - "Microsoft.NETCore.Platforms": "1.1.0", - "Microsoft.Win32.Primitives": "4.3.0", - "System.Collections": "4.3.0", - "System.Diagnostics.Debug": "4.3.0", - "System.Reflection": "4.3.0", - "System.Resources.ResourceManager": "4.3.0", - "System.Runtime": "4.3.0", - "System.Runtime.Extensions": "4.3.0", - "System.Runtime.Handles": "4.3.0", - "System.Runtime.InteropServices": "4.3.0", - "System.Security.Claims": "4.3.0", - "System.Security.Principal": "4.3.0", - "System.Text.Encoding": "4.3.0", - "System.Threading": "4.3.0" - } - }, - "System.Security.SecureString/4.0.0": { - "dependencies": { - "Microsoft.NETCore.Platforms": "1.1.0", - "System.Resources.ResourceManager": "4.3.0", - "System.Runtime": "4.3.0", - "System.Runtime.Handles": "4.3.0", - "System.Runtime.InteropServices": "4.3.0", - "System.Security.Cryptography.Primitives": "4.3.0", - "System.Text.Encoding": "4.3.0", - "System.Threading": "4.3.0" - } - }, - "System.Text.Encoding/4.3.0": { - "dependencies": { - "Microsoft.NETCore.Platforms": "1.1.0", - "Microsoft.NETCore.Targets": "1.1.0", - "System.Runtime": "4.3.0" - } - }, - "System.Text.Encoding.CodePages/4.5.1": { - "dependencies": { - "System.Runtime.CompilerServices.Unsafe": "4.5.2" - }, - "runtime": { - "lib/netstandard2.0/System.Text.Encoding.CodePages.dll": { - "assemblyVersion": "4.1.1.0", - "fileVersion": "4.6.27129.4" - } - } - }, - "System.Text.Encoding.Extensions/4.0.11": { - "dependencies": { - "Microsoft.NETCore.Platforms": "1.1.0", - "Microsoft.NETCore.Targets": "1.1.0", - "System.Runtime": "4.3.0", - "System.Text.Encoding": "4.3.0" - } - }, - "System.Threading/4.3.0": { - "dependencies": { - "System.Runtime": "4.3.0", - "System.Threading.Tasks": "4.3.0" - }, - "runtime": { - "lib/netstandard1.3/System.Threading.dll": { - "assemblyVersion": "4.0.12.0", - "fileVersion": "4.6.24705.1" - } - } - }, - "System.Threading.Tasks/4.3.0": { - "dependencies": { - "Microsoft.NETCore.Platforms": "1.1.0", - "Microsoft.NETCore.Targets": "1.1.0", - "System.Runtime": "4.3.0" - } - }, - "System.Threading.Thread/4.3.0": { - "dependencies": { - "System.Runtime": "4.3.0" - }, - "runtime": { - "lib/netstandard1.3/System.Threading.Thread.dll": { - "assemblyVersion": "4.0.1.0", - "fileVersion": "4.6.24705.1" - } - } - }, - "System.Threading.ThreadPool/4.3.0": { - "dependencies": { - "System.Runtime": "4.3.0", - "System.Runtime.Handles": "4.3.0" - }, - "runtime": { - "lib/netstandard1.3/System.Threading.ThreadPool.dll": { - "assemblyVersion": "4.0.11.0", - "fileVersion": "4.6.24705.1" - } - } - } - } - }, - "libraries": { - "MongoDbGenericRepository/1.0.0": { - "type": "project", - "serviceable": false, - "sha512": "" - }, - "DnsClient/1.2.0": { - "type": "package", - "serviceable": true, - "sha512": "sha512-P34wUkeqU4FoQiOMV8OjpdeDZKs4d3r+VlHuKJ6eO5feiZgna3+9MF5orHRUn3DAv1g/HPE5hlkGucmxmsFfBw==", - "path": "dnsclient/1.2.0", - "hashPath": "dnsclient.1.2.0.nupkg.sha512" - }, - "Microsoft.NETCore.Platforms/1.1.0": { - "type": "package", - "serviceable": true, - "sha512": "sha512-kz0PEW2lhqygehI/d6XsPCQzD7ff7gUJaVGPVETX611eadGsA3A877GdSlU0LRVMCTH/+P3o2iDTak+S08V2+A==", - "path": "microsoft.netcore.platforms/1.1.0", - "hashPath": "microsoft.netcore.platforms.1.1.0.nupkg.sha512" - }, - "Microsoft.NETCore.Targets/1.1.0": { - "type": "package", - "serviceable": true, - "sha512": "sha512-aOZA3BWfz9RXjpzt0sRJJMjAscAUm3Hoa4UWAfceV9UTYxgwZ1lZt5nO2myFf+/jetYQo4uTP7zS8sJY67BBxg==", - "path": "microsoft.netcore.targets/1.1.0", - "hashPath": "microsoft.netcore.targets.1.1.0.nupkg.sha512" - }, - "Microsoft.Win32.Primitives/4.3.0": { - "type": "package", - "serviceable": true, - "sha512": "sha512-9ZQKCWxH7Ijp9BfahvL2Zyf1cJIk8XYLF6Yjzr2yi0b2cOut/HQ31qf1ThHAgCc3WiZMdnWcfJCgN82/0UunxA==", - "path": "microsoft.win32.primitives/4.3.0", - "hashPath": "microsoft.win32.primitives.4.3.0.nupkg.sha512" - }, - "Microsoft.Win32.Registry/4.0.0": { - "type": "package", - "serviceable": true, - "sha512": "sha512-UiSp7lTxGtsF6J96wwErFeM0jygj/bWWKvbqwtRP2t6OohgT7TCTpjvQ1+7DLQLH3DR70i6+eRGX/y85WFuz1Q==", - "path": "microsoft.win32.registry/4.0.0", - "hashPath": "microsoft.win32.registry.4.0.0.nupkg.sha512" - }, - "MongoDB.Bson/2.9.3": { - "type": "package", - "serviceable": true, - "sha512": "sha512-iuLdgI/8Q3AnboPR0OTFDpqVAxTskW9IQLhxKt+O4IQ3s9hHVLLp1dGLChrwrcK+3Fa2MFNHvm6W8tEMV4VUmw==", - "path": "mongodb.bson/2.9.3", - "hashPath": "mongodb.bson.2.9.3.nupkg.sha512" - }, - "MongoDB.Driver/2.9.3": { - "type": "package", - "serviceable": true, - "sha512": "sha512-nSHXATq6u9CSwfO/xCQSZe6JgJeVmLng0v6fwc6WFTYVnssAZjIaj1BiNu3XshHP+vYCzYZUmbPtRHltaXQiuw==", - "path": "mongodb.driver/2.9.3", - "hashPath": "mongodb.driver.2.9.3.nupkg.sha512" - }, - "MongoDB.Driver.Core/2.9.3": { - "type": "package", - "serviceable": true, - "sha512": "sha512-j95XZhXTukZHUnZmEFEJPERscccfa42iLPbPBlwRJMK5XEZ9myCcxnWACvJwYXrU6RoRwUzYCFYoSHj6lHfgmA==", - "path": "mongodb.driver.core/2.9.3", - "hashPath": "mongodb.driver.core.2.9.3.nupkg.sha512" - }, - "NETStandard.Library/2.0.3": { - "type": "package", - "serviceable": true, - "sha512": "sha512-st47PosZSHrjECdjeIzZQbzivYBJFv6P2nv4cj2ypdI204DO+vZ7l5raGMiX4eXMJ53RfOIg+/s4DHVZ54Nu2A==", - "path": "netstandard.library/2.0.3", - "hashPath": "netstandard.library.2.0.3.nupkg.sha512" - }, - "runtime.debian.8-x64.runtime.native.System.Security.Cryptography.OpenSsl/4.3.2": { - "type": "package", - "serviceable": true, - "sha512": "sha512-7VSGO0URRKoMEAq0Sc9cRz8mb6zbyx/BZDEWhgPdzzpmFhkam3fJ1DAGWFXBI4nGlma+uPKpfuMQP5LXRnOH5g==", - "path": "runtime.debian.8-x64.runtime.native.system.security.cryptography.openssl/4.3.2", - "hashPath": "runtime.debian.8-x64.runtime.native.system.security.cryptography.openssl.4.3.2.nupkg.sha512" - }, - "runtime.fedora.23-x64.runtime.native.System.Security.Cryptography.OpenSsl/4.3.2": { - "type": "package", - "serviceable": true, - "sha512": "sha512-0oAaTAm6e2oVH+/Zttt0cuhGaePQYKII1dY8iaqP7CvOpVKgLybKRFvQjXR2LtxXOXTVPNv14j0ot8uV+HrUmw==", - "path": "runtime.fedora.23-x64.runtime.native.system.security.cryptography.openssl/4.3.2", - "hashPath": "runtime.fedora.23-x64.runtime.native.system.security.cryptography.openssl.4.3.2.nupkg.sha512" - }, - "runtime.fedora.24-x64.runtime.native.System.Security.Cryptography.OpenSsl/4.3.2": { - "type": "package", - "serviceable": true, - "sha512": "sha512-G24ibsCNi5Kbz0oXWynBoRgtGvsw5ZSVEWjv13/KiCAM8C6wz9zzcCniMeQFIkJ2tasjo2kXlvlBZhplL51kGg==", - "path": "runtime.fedora.24-x64.runtime.native.system.security.cryptography.openssl/4.3.2", - "hashPath": "runtime.fedora.24-x64.runtime.native.system.security.cryptography.openssl.4.3.2.nupkg.sha512" - }, - "runtime.native.System/4.3.0": { - "type": "package", - "serviceable": true, - "sha512": "sha512-c/qWt2LieNZIj1jGnVNsE2Kl23Ya2aSTBuXMD6V7k9KWr6l16Tqdwq+hJScEpWER9753NWC8h96PaVNY5Ld7Jw==", - "path": "runtime.native.system/4.3.0", - "hashPath": "runtime.native.system.4.3.0.nupkg.sha512" - }, - "runtime.native.System.Net.Http/4.3.0": { - "type": "package", - "serviceable": true, - "sha512": "sha512-guqHgQOK2eUgtJae2VKjNawBn1xjC0hfOt5wASHa60XHbIdCsQlqtvMsFG+3hy7yp88V+gi9fZCjubuDkeakcQ==", - "path": "runtime.native.system.net.http/4.3.0", - "hashPath": "runtime.native.system.net.http.4.3.0.nupkg.sha512" - }, - "runtime.native.System.Net.Security/4.3.0": { - "type": "package", - "serviceable": true, - "sha512": "sha512-M2nN92ePS8BgQ2oi6Jj3PlTUzadYSIWLdZrHY1n1ZcW9o4wAQQ6W+aQ2lfq1ysZQfVCgDwY58alUdowrzezztg==", - "path": "runtime.native.system.net.security/4.3.0", - "hashPath": "runtime.native.system.net.security.4.3.0.nupkg.sha512" - }, - "runtime.native.System.Security.Cryptography.Apple/4.3.0": { - "type": "package", - "serviceable": true, - "sha512": "sha512-DloMk88juo0OuOWr56QG7MNchmafTLYWvABy36izkrLI5VledI0rq28KGs1i9wbpeT9NPQrx/wTf8U2vazqQ3Q==", - "path": "runtime.native.system.security.cryptography.apple/4.3.0", - "hashPath": "runtime.native.system.security.cryptography.apple.4.3.0.nupkg.sha512" - }, - "runtime.native.System.Security.Cryptography.OpenSsl/4.3.2": { - "type": "package", - "serviceable": true, - "sha512": "sha512-QR1OwtwehHxSeQvZKXe+iSd+d3XZNkEcuWMFYa2i0aG1l+lR739HPicKMlTbJst3spmeekDVBUS7SeS26s4U/g==", - "path": "runtime.native.system.security.cryptography.openssl/4.3.2", - "hashPath": "runtime.native.system.security.cryptography.openssl.4.3.2.nupkg.sha512" - }, - "runtime.opensuse.13.2-x64.runtime.native.System.Security.Cryptography.OpenSsl/4.3.2": { - "type": "package", - "serviceable": true, - "sha512": "sha512-I+GNKGg2xCHueRd1m9PzeEW7WLbNNLznmTuEi8/vZX71HudUbx1UTwlGkiwMri7JLl8hGaIAWnA/GONhu+LOyQ==", - "path": "runtime.opensuse.13.2-x64.runtime.native.system.security.cryptography.openssl/4.3.2", - "hashPath": "runtime.opensuse.13.2-x64.runtime.native.system.security.cryptography.openssl.4.3.2.nupkg.sha512" - }, - "runtime.opensuse.42.1-x64.runtime.native.System.Security.Cryptography.OpenSsl/4.3.2": { - "type": "package", - "serviceable": true, - "sha512": "sha512-1Z3TAq1ytS1IBRtPXJvEUZdVsfWfeNEhBkbiOCGEl9wwAfsjP2lz3ZFDx5tq8p60/EqbS0HItG5piHuB71RjoA==", - "path": "runtime.opensuse.42.1-x64.runtime.native.system.security.cryptography.openssl/4.3.2", - "hashPath": "runtime.opensuse.42.1-x64.runtime.native.system.security.cryptography.openssl.4.3.2.nupkg.sha512" - }, - "runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.Apple/4.3.0": { - "type": "package", - "serviceable": true, - "sha512": "sha512-Kh9W4agE0r/hK8AX1LvyQI2NrKHBL8pO0gRoDTdDb0LL6Ta1Z2OtFx3lOaAE0ZpCUc/dt9Wzs3rA7a3IsKdOVA==", - "path": "runtime.osx.10.10-x64.runtime.native.system.security.cryptography.apple/4.3.0", - "hashPath": "runtime.osx.10.10-x64.runtime.native.system.security.cryptography.apple.4.3.0.nupkg.sha512" - }, - "runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.OpenSsl/4.3.2": { - "type": "package", - "serviceable": true, - "sha512": "sha512-6mU/cVmmHtQiDXhnzUImxIcDL48GbTk+TsptXyJA+MIOG9LRjPoAQC/qBFB7X+UNyK86bmvGwC8t+M66wsYC8w==", - "path": "runtime.osx.10.10-x64.runtime.native.system.security.cryptography.openssl/4.3.2", - "hashPath": "runtime.osx.10.10-x64.runtime.native.system.security.cryptography.openssl.4.3.2.nupkg.sha512" - }, - "runtime.rhel.7-x64.runtime.native.System.Security.Cryptography.OpenSsl/4.3.2": { - "type": "package", - "serviceable": true, - "sha512": "sha512-vjwG0GGcTW/PPg6KVud8F9GLWYuAV1rrw1BKAqY0oh4jcUqg15oYF1+qkGR2x2ZHM4DQnWKQ7cJgYbfncz/lYg==", - "path": "runtime.rhel.7-x64.runtime.native.system.security.cryptography.openssl/4.3.2", - "hashPath": "runtime.rhel.7-x64.runtime.native.system.security.cryptography.openssl.4.3.2.nupkg.sha512" - }, - "runtime.ubuntu.14.04-x64.runtime.native.System.Security.Cryptography.OpenSsl/4.3.2": { - "type": "package", - "serviceable": true, - "sha512": "sha512-7KMFpTkHC/zoExs+PwP8jDCWcrK9H6L7soowT80CUx3e+nxP/AFnq0AQAW5W76z2WYbLAYCRyPfwYFG6zkvQRw==", - "path": "runtime.ubuntu.14.04-x64.runtime.native.system.security.cryptography.openssl/4.3.2", - "hashPath": "runtime.ubuntu.14.04-x64.runtime.native.system.security.cryptography.openssl.4.3.2.nupkg.sha512" - }, - "runtime.ubuntu.16.04-x64.runtime.native.System.Security.Cryptography.OpenSsl/4.3.2": { - "type": "package", - "serviceable": true, - "sha512": "sha512-xrlmRCnKZJLHxyyLIqkZjNXqgxnKdZxfItrPkjI+6pkRo5lHX8YvSZlWrSI5AVwLMi4HbNWP7064hcAWeZKp5w==", - "path": "runtime.ubuntu.16.04-x64.runtime.native.system.security.cryptography.openssl/4.3.2", - "hashPath": "runtime.ubuntu.16.04-x64.runtime.native.system.security.cryptography.openssl.4.3.2.nupkg.sha512" - }, - "runtime.ubuntu.16.10-x64.runtime.native.System.Security.Cryptography.OpenSsl/4.3.2": { - "type": "package", - "serviceable": true, - "sha512": "sha512-leXiwfiIkW7Gmn7cgnNcdtNAU70SjmKW3jxGj1iKHOvdn0zRWsgv/l2OJUO5zdGdiv2VRFnAsxxhDgMzofPdWg==", - "path": "runtime.ubuntu.16.10-x64.runtime.native.system.security.cryptography.openssl/4.3.2", - "hashPath": "runtime.ubuntu.16.10-x64.runtime.native.system.security.cryptography.openssl.4.3.2.nupkg.sha512" - }, - "SharpCompress/0.23.0": { - "type": "package", - "serviceable": true, - "sha512": "sha512-HBbT47JHvNrsZX2dTBzUBOSzBt+EmIRGLIBkbxcP6Jef7DB4eFWQX5iHWV3Nj7hABFPCjISrZ8s0z72nF2zFHQ==", - "path": "sharpcompress/0.23.0", - "hashPath": "sharpcompress.0.23.0.nupkg.sha512" - }, - "System.Buffers/4.4.0": { - "type": "package", - "serviceable": true, - "sha512": "sha512-Ii2bedd4HVzddupdU35n3ygohUPlNn7MDimBOYcwWNce2NizQ1fCSaQJY1Tzv80aMqOGpVcU4wZr/Xe50xcTwg==", - "path": "system.buffers/4.4.0", - "hashPath": "system.buffers.4.4.0.nupkg.sha512" - }, - "System.Collections/4.3.0": { - "type": "package", - "serviceable": true, - "sha512": "sha512-3Dcj85/TBdVpL5Zr+gEEBUuFe2icOnLalmEh9hfck1PTYbbyWuZgh4fmm2ysCLTrqLQw6t3TgTyJ+VLp+Qb+Lw==", - "path": "system.collections/4.3.0", - "hashPath": "system.collections.4.3.0.nupkg.sha512" - }, - "System.Collections.Concurrent/4.3.0": { - "type": "package", - "serviceable": true, - "sha512": "sha512-ztl69Xp0Y/UXCL+3v3tEU+lIy+bvjKNUmopn1wep/a291pVPK7dxBd6T7WnlQqRog+d1a/hSsgRsmFnIBKTPLQ==", - "path": "system.collections.concurrent/4.3.0", - "hashPath": "system.collections.concurrent.4.3.0.nupkg.sha512" - }, - "System.Collections.NonGeneric/4.0.1": { - "type": "package", - "serviceable": true, - "sha512": "sha512-hMxFT2RhhlffyCdKLDXjx8WEC5JfCvNozAZxCablAuFRH74SCV4AgzE8yJCh/73bFnEoZgJ9MJmkjQ0dJmnKqA==", - "path": "system.collections.nongeneric/4.0.1", - "hashPath": "system.collections.nongeneric.4.0.1.nupkg.sha512" - }, - "System.Collections.Specialized/4.0.1": { - "type": "package", - "serviceable": true, - "sha512": "sha512-/HKQyVP0yH1I0YtK7KJL/28snxHNH/bi+0lgk/+MbURF6ULhAE31MDI+NZDerNWu264YbxklXCCygISgm+HMug==", - "path": "system.collections.specialized/4.0.1", - "hashPath": "system.collections.specialized.4.0.1.nupkg.sha512" - }, - "System.ComponentModel/4.0.1": { - "type": "package", - "serviceable": true, - "sha512": "sha512-oBZFnm7seFiVfugsIyOvQCWobNZs7FzqDV/B7tx20Ep/l3UUFCPDkdTnCNaJZTU27zjeODmy2C/cP60u3D4c9w==", - "path": "system.componentmodel/4.0.1", - "hashPath": "system.componentmodel.4.0.1.nupkg.sha512" - }, - "System.ComponentModel.Primitives/4.1.0": { - "type": "package", - "serviceable": true, - "sha512": "sha512-mAaj8PXxM7hUSIJYm9chhSe90HaIVyl8vb4JJO0M7fRaeBqSaaveHdRAmOL0LcOxp7kf9Vb8HujCe02DUqG5HQ==", - "path": "system.componentmodel.primitives/4.1.0", - "hashPath": "system.componentmodel.primitives.4.1.0.nupkg.sha512" - }, - "System.ComponentModel.TypeConverter/4.1.0": { - "type": "package", - "serviceable": true, - "sha512": "sha512-jcj79VC96yxc/rgLB59+g4675iVts1XrfC97dniMEvmJhRl8cG7qRO3EsJQwNw8cFL6RenFxn/CGfUhgj32SdQ==", - "path": "system.componentmodel.typeconverter/4.1.0", - "hashPath": "system.componentmodel.typeconverter.4.1.0.nupkg.sha512" - }, - "System.Diagnostics.Debug/4.3.0": { - "type": "package", - "serviceable": true, - "sha512": "sha512-ZUhUOdqmaG5Jk3Xdb8xi5kIyQYAA4PnTNlHx1mu9ZY3qv4ELIdKbnL/akbGaKi2RnNUWaZsAs31rvzFdewTj2g==", - "path": "system.diagnostics.debug/4.3.0", - "hashPath": "system.diagnostics.debug.4.3.0.nupkg.sha512" - }, - "System.Diagnostics.Process/4.1.0": { - "type": "package", - "serviceable": true, - "sha512": "sha512-S2YC+MwpWZ6e7h2lqNce/ubMjD4vf2Ea/uOEncYNH1/fFXaXlKDM9ig/zCE1rR+wwYzE8FXtvj+1Nymh6oZ9bg==", - "path": "system.diagnostics.process/4.1.0", - "hashPath": "system.diagnostics.process.4.1.0.nupkg.sha512" - }, - "System.Diagnostics.TextWriterTraceListener/4.0.0": { - "type": "package", - "serviceable": true, - "sha512": "sha512-oRsXCz76GDDMrwjMjH6keR9erFIofhGaIMc2d4NykI4rdBEuUP5ZswYA30LGPdyCK7DV4bMBEJL3nJFyAJoS/g==", - "path": "system.diagnostics.textwritertracelistener/4.0.0", - "hashPath": "system.diagnostics.textwritertracelistener.4.0.0.nupkg.sha512" - }, - "System.Diagnostics.TraceSource/4.0.0": { - "type": "package", - "serviceable": true, - "sha512": "sha512-q5bGzzvXVi+dIMiPWRhXZV7r+Os3TEOuRW5LHsAUDGpqJHol8XiLokVpsgAfPqHHNkyx1bbv5lRZqRkRrGZKxQ==", - "path": "system.diagnostics.tracesource/4.0.0", - "hashPath": "system.diagnostics.tracesource.4.0.0.nupkg.sha512" - }, - "System.Diagnostics.Tracing/4.3.0": { - "type": "package", - "serviceable": true, - "sha512": "sha512-rswfv0f/Cqkh78rA5S8eN8Neocz234+emGCtTF3lxPY96F+mmmUen6tbn0glN6PMvlKQb9bPAY5e9u7fgPTkKw==", - "path": "system.diagnostics.tracing/4.3.0", - "hashPath": "system.diagnostics.tracing.4.3.0.nupkg.sha512" - }, - "System.Dynamic.Runtime/4.0.11": { - "type": "package", - "serviceable": true, - "sha512": "sha512-db34f6LHYM0U0JpE+sOmjar27BnqTVkbLJhgfwMpTdgTigG/Hna3m2MYVwnFzGGKnEJk2UXFuoVTr8WUbU91/A==", - "path": "system.dynamic.runtime/4.0.11", - "hashPath": "system.dynamic.runtime.4.0.11.nupkg.sha512" - }, - "System.Globalization/4.3.0": { - "type": "package", - "serviceable": true, - "sha512": "sha512-kYdVd2f2PAdFGblzFswE4hkNANJBKRmsfa2X5LG2AcWE1c7/4t0pYae1L8vfZ5xvE2nK/R9JprtToA61OSHWIg==", - "path": "system.globalization/4.3.0", - "hashPath": "system.globalization.4.3.0.nupkg.sha512" - }, - "System.Globalization.Calendars/4.3.0": { - "type": "package", - "serviceable": true, - "sha512": "sha512-GUlBtdOWT4LTV3I+9/PJW+56AnnChTaOqqTLFtdmype/L500M2LIyXgmtd9X2P2VOkmJd5c67H5SaC2QcL1bFA==", - "path": "system.globalization.calendars/4.3.0", - "hashPath": "system.globalization.calendars.4.3.0.nupkg.sha512" - }, - "System.Globalization.Extensions/4.3.0": { - "type": "package", - "serviceable": true, - "sha512": "sha512-FhKmdR6MPG+pxow6wGtNAWdZh7noIOpdD5TwQ3CprzgIE1bBBoim0vbR1+AWsWjQmU7zXHgQo4TWSP6lCeiWcQ==", - "path": "system.globalization.extensions/4.3.0", - "hashPath": "system.globalization.extensions.4.3.0.nupkg.sha512" - }, - "System.IO/4.3.0": { - "type": "package", - "serviceable": true, - "sha512": "sha512-3qjaHvxQPDpSOYICjUoTsmoq5u6QJAFRUITgeT/4gqkF1bajbSmb1kwSxEA8AHlofqgcKJcM8udgieRNhaJ5Cg==", - "path": "system.io/4.3.0", - "hashPath": "system.io.4.3.0.nupkg.sha512" - }, - "System.IO.FileSystem/4.3.0": { - "type": "package", - "serviceable": true, - "sha512": "sha512-3wEMARTnuio+ulnvi+hkRNROYwa1kylvYahhcLk4HSoVdl+xxTFVeVlYOfLwrDPImGls0mDqbMhrza8qnWPTdA==", - "path": "system.io.filesystem/4.3.0", - "hashPath": "system.io.filesystem.4.3.0.nupkg.sha512" - }, - "System.IO.FileSystem.Primitives/4.3.0": { - "type": "package", - "serviceable": true, - "sha512": "sha512-6QOb2XFLch7bEc4lIcJH49nJN2HV+OC3fHDgsLVsBVBk3Y4hFAnOBGzJ2lUu7CyDDFo9IBWkSsnbkT6IBwwiMw==", - "path": "system.io.filesystem.primitives/4.3.0", - "hashPath": "system.io.filesystem.primitives.4.3.0.nupkg.sha512" - }, - "System.Linq/4.3.0": { - "type": "package", - "serviceable": true, - "sha512": "sha512-5DbqIUpsDp0dFftytzuMmc0oeMdQwjcP/EWxsksIz/w1TcFRkZ3yKKz0PqiYFMmEwPSWw+qNVqD7PJ889JzHbw==", - "path": "system.linq/4.3.0", - "hashPath": "system.linq.4.3.0.nupkg.sha512" - }, - "System.Linq.Expressions/4.1.0": { - "type": "package", - "serviceable": true, - "sha512": "sha512-I+y02iqkgmCAyfbqOmSDOgqdZQ5tTj80Akm5BPSS8EeB0VGWdy6X1KCoYe8Pk6pwDoAKZUOdLVxnTJcExiv5zw==", - "path": "system.linq.expressions/4.1.0", - "hashPath": "system.linq.expressions.4.1.0.nupkg.sha512" - }, - "System.Linq.Queryable/4.0.1": { - "type": "package", - "serviceable": true, - "sha512": "sha512-Yn/WfYe9RoRfmSLvUt2JerP0BTGGykCZkQPgojaxgzF2N0oPo+/AhB8TXOpdCcNlrG3VRtsamtK2uzsp3cqRVw==", - "path": "system.linq.queryable/4.0.1", - "hashPath": "system.linq.queryable.4.0.1.nupkg.sha512" - }, - "System.Net.NameResolution/4.3.0": { - "type": "package", - "serviceable": true, - "sha512": "sha512-AFYl08R7MrsrEjqpQWTZWBadqXyTzNDaWpMqyxhb0d6sGhV6xMDKueuBXlLL30gz+DIRY6MpdgnHWlCh5wmq9w==", - "path": "system.net.nameresolution/4.3.0", - "hashPath": "system.net.nameresolution.4.3.0.nupkg.sha512" - }, - "System.Net.Primitives/4.3.0": { - "type": "package", - "serviceable": true, - "sha512": "sha512-qOu+hDwFwoZPbzPvwut2qATe3ygjeQBDQj91xlsaqGFQUI5i4ZnZb8yyQuLGpDGivEPIt8EJkd1BVzVoP31FXA==", - "path": "system.net.primitives/4.3.0", - "hashPath": "system.net.primitives.4.3.0.nupkg.sha512" - }, - "System.Net.Security/4.3.2": { - "type": "package", - "serviceable": true, - "sha512": "sha512-xT2jbYpbBo3ha87rViHoTA6WdvqOAW37drmqyx/6LD8p7HEPT2qgdxoimRzWtPg8Jh4X5G9BV2seeTv4x6FYlA==", - "path": "system.net.security/4.3.2", - "hashPath": "system.net.security.4.3.2.nupkg.sha512" - }, - "System.ObjectModel/4.0.12": { - "type": "package", - "serviceable": true, - "sha512": "sha512-tAgJM1xt3ytyMoW4qn4wIqgJYm7L7TShRZG4+Q4Qsi2PCcj96pXN7nRywS9KkB3p/xDUjc2HSwP9SROyPYDYKQ==", - "path": "system.objectmodel/4.0.12", - "hashPath": "system.objectmodel.4.0.12.nupkg.sha512" - }, - "System.Reflection/4.3.0": { - "type": "package", - "serviceable": true, - "sha512": "sha512-KMiAFoW7MfJGa9nDFNcfu+FpEdiHpWgTcS2HdMpDvt9saK3y/G4GwprPyzqjFH9NTaGPQeWNHU+iDlDILj96aQ==", - "path": "system.reflection/4.3.0", - "hashPath": "system.reflection.4.3.0.nupkg.sha512" - }, - "System.Reflection.Emit/4.0.1": { - "type": "package", - "serviceable": true, - "sha512": "sha512-P2wqAj72fFjpP6wb9nSfDqNBMab+2ovzSDzUZK7MVIm54tBJEPr9jWfSjjoTpPwj1LeKcmX3vr0ttyjSSFM47g==", - "path": "system.reflection.emit/4.0.1", - "hashPath": "system.reflection.emit.4.0.1.nupkg.sha512" - }, - "System.Reflection.Emit.ILGeneration/4.3.0": { - "type": "package", - "serviceable": true, - "sha512": "sha512-59tBslAk9733NXLrUJrwNZEzbMAcu8k344OYo+wfSVygcgZ9lgBdGIzH/nrg3LYhXceynyvTc8t5/GD4Ri0/ng==", - "path": "system.reflection.emit.ilgeneration/4.3.0", - "hashPath": "system.reflection.emit.ilgeneration.4.3.0.nupkg.sha512" - }, - "System.Reflection.Emit.Lightweight/4.3.0": { - "type": "package", - "serviceable": true, - "sha512": "sha512-oadVHGSMsTmZsAF864QYN1t1QzZjIcuKU3l2S9cZOwDdDueNTrqq1yRj7koFfIGEnKpt6NjpL3rOzRhs4ryOgA==", - "path": "system.reflection.emit.lightweight/4.3.0", - "hashPath": "system.reflection.emit.lightweight.4.3.0.nupkg.sha512" - }, - "System.Reflection.Extensions/4.0.1": { - "type": "package", - "serviceable": true, - "sha512": "sha512-GYrtRsZcMuHF3sbmRHfMYpvxZoIN2bQGrYGerUiWLEkqdEUQZhH3TRSaC/oI4wO0II1RKBPlpIa1TOMxIcOOzQ==", - "path": "system.reflection.extensions/4.0.1", - "hashPath": "system.reflection.extensions.4.0.1.nupkg.sha512" - }, - "System.Reflection.Primitives/4.3.0": { - "type": "package", - "serviceable": true, - "sha512": "sha512-5RXItQz5As4xN2/YUDxdpsEkMhvw3e6aNveFXUn4Hl/udNTCNhnKp8lT9fnc3MhvGKh1baak5CovpuQUXHAlIA==", - "path": "system.reflection.primitives/4.3.0", - "hashPath": "system.reflection.primitives.4.3.0.nupkg.sha512" - }, - "System.Reflection.TypeExtensions/4.1.0": { - "type": "package", - "serviceable": true, - "sha512": "sha512-tsQ/ptQ3H5FYfON8lL4MxRk/8kFyE0A+tGPXmVP967cT/gzLHYxIejIYSxp4JmIeFHVP78g/F2FE1mUUTbDtrg==", - "path": "system.reflection.typeextensions/4.1.0", - "hashPath": "system.reflection.typeextensions.4.1.0.nupkg.sha512" - }, - "System.Resources.ResourceManager/4.3.0": { - "type": "package", - "serviceable": true, - "sha512": "sha512-/zrcPkkWdZmI4F92gL/TPumP98AVDu/Wxr3CSJGQQ+XN6wbRZcyfSKVoPo17ilb3iOr0cCRqJInGwNMolqhS8A==", - "path": "system.resources.resourcemanager/4.3.0", - "hashPath": "system.resources.resourcemanager.4.3.0.nupkg.sha512" - }, - "System.Runtime/4.3.0": { - "type": "package", - "serviceable": true, - "sha512": "sha512-JufQi0vPQ0xGnAczR13AUFglDyVYt4Kqnz1AZaiKZ5+GICq0/1MH/mO/eAJHt/mHW1zjKBJd7kV26SrxddAhiw==", - "path": "system.runtime/4.3.0", - "hashPath": "system.runtime.4.3.0.nupkg.sha512" - }, - "System.Runtime.CompilerServices.Unsafe/4.5.2": { - "type": "package", - "serviceable": true, - "sha512": "sha512-hMkdWxksypQlFXB7JamQegDscxEAQO4FHd/lw/zlSZU9dZgAij65xjCrXer183wvoNAzJic5zzjj2oc9/dloWg==", - "path": "system.runtime.compilerservices.unsafe/4.5.2", - "hashPath": "system.runtime.compilerservices.unsafe.4.5.2.nupkg.sha512" - }, - "System.Runtime.Extensions/4.3.0": { - "type": "package", - "serviceable": true, - "sha512": "sha512-guW0uK0fn5fcJJ1tJVXYd7/1h5F+pea1r7FLSOz/f8vPEqbR2ZAknuRDvTQ8PzAilDveOxNjSfr0CHfIQfFk8g==", - "path": "system.runtime.extensions/4.3.0", - "hashPath": "system.runtime.extensions.4.3.0.nupkg.sha512" - }, - "System.Runtime.Handles/4.3.0": { - "type": "package", - "serviceable": true, - "sha512": "sha512-OKiSUN7DmTWeYb3l51A7EYaeNMnvxwE249YtZz7yooT4gOZhmTjIn48KgSsw2k2lYdLgTKNJw/ZIfSElwDRVgg==", - "path": "system.runtime.handles/4.3.0", - "hashPath": "system.runtime.handles.4.3.0.nupkg.sha512" - }, - "System.Runtime.InteropServices/4.3.0": { - "type": "package", - "serviceable": true, - "sha512": "sha512-uv1ynXqiMK8mp1GM3jDqPCFN66eJ5w5XNomaK2XD+TuCroNTLFGeZ+WCmBMcBDyTFKou3P6cR6J/QsaqDp7fGQ==", - "path": "system.runtime.interopservices/4.3.0", - "hashPath": "system.runtime.interopservices.4.3.0.nupkg.sha512" - }, - "System.Runtime.Numerics/4.3.0": { - "type": "package", - "serviceable": true, - "sha512": "sha512-yMH+MfdzHjy17l2KESnPiF2dwq7T+xLnSJar7slyimAkUh/gTrS9/UQOtv7xarskJ2/XDSNvfLGOBQPjL7PaHQ==", - "path": "system.runtime.numerics/4.3.0", - "hashPath": "system.runtime.numerics.4.3.0.nupkg.sha512" - }, - "System.Runtime.Serialization.Formatters/4.3.0": { - "type": "package", - "serviceable": true, - "sha512": "sha512-KT591AkTNFOTbhZlaeMVvfax3RqhH1EJlcwF50Wm7sfnBLuHiOeZRRKrr1ns3NESkM20KPZ5Ol/ueMq5vg4QoQ==", - "path": "system.runtime.serialization.formatters/4.3.0", - "hashPath": "system.runtime.serialization.formatters.4.3.0.nupkg.sha512" - }, - "System.Runtime.Serialization.Primitives/4.3.0": { - "type": "package", - "serviceable": true, - "sha512": "sha512-Wz+0KOukJGAlXjtKr+5Xpuxf8+c8739RI1C+A2BoQZT+wMCCoMDDdO8/4IRHfaVINqL78GO8dW8G2lW/e45Mcw==", - "path": "system.runtime.serialization.primitives/4.3.0", - "hashPath": "system.runtime.serialization.primitives.4.3.0.nupkg.sha512" - }, - "System.Security.Claims/4.3.0": { - "type": "package", - "serviceable": true, - "sha512": "sha512-P/+BR/2lnc4PNDHt/TPBAWHVMLMRHsyYZbU1NphW4HIWzCggz8mJbTQQ3MKljFE7LS3WagmVFuBgoLcFzYXlkA==", - "path": "system.security.claims/4.3.0", - "hashPath": "system.security.claims.4.3.0.nupkg.sha512" - }, - "System.Security.Cryptography.Algorithms/4.3.0": { - "type": "package", - "serviceable": true, - "sha512": "sha512-W1kd2Y8mYSCgc3ULTAZ0hOP2dSdG5YauTb1089T0/kRcN2MpSAW1izOFROrJgxSlMn3ArsgHXagigyi+ibhevg==", - "path": "system.security.cryptography.algorithms/4.3.0", - "hashPath": "system.security.cryptography.algorithms.4.3.0.nupkg.sha512" - }, - "System.Security.Cryptography.Cng/4.3.0": { - "type": "package", - "serviceable": true, - "sha512": "sha512-03idZOqFlsKRL4W+LuCpJ6dBYDUWReug6lZjBa3uJWnk5sPCUXckocevTaUA8iT/MFSrY/2HXkOt753xQ/cf8g==", - "path": "system.security.cryptography.cng/4.3.0", - "hashPath": "system.security.cryptography.cng.4.3.0.nupkg.sha512" - }, - "System.Security.Cryptography.Csp/4.3.0": { - "type": "package", - "serviceable": true, - "sha512": "sha512-X4s/FCkEUnRGnwR3aSfVIkldBmtURMhmexALNTwpjklzxWU7yjMk7GHLKOZTNkgnWnE0q7+BCf9N2LVRWxewaA==", - "path": "system.security.cryptography.csp/4.3.0", - "hashPath": "system.security.cryptography.csp.4.3.0.nupkg.sha512" - }, - "System.Security.Cryptography.Encoding/4.3.0": { - "type": "package", - "serviceable": true, - "sha512": "sha512-1DEWjZZly9ae9C79vFwqaO5kaOlI5q+3/55ohmq/7dpDyDfc8lYe7YVxJUZ5MF/NtbkRjwFRo14yM4OEo9EmDw==", - "path": "system.security.cryptography.encoding/4.3.0", - "hashPath": "system.security.cryptography.encoding.4.3.0.nupkg.sha512" - }, - "System.Security.Cryptography.OpenSsl/4.3.0": { - "type": "package", - "serviceable": true, - "sha512": "sha512-h4CEgOgv5PKVF/HwaHzJRiVboL2THYCou97zpmhjghx5frc7fIvlkY1jL+lnIQyChrJDMNEXS6r7byGif8Cy4w==", - "path": "system.security.cryptography.openssl/4.3.0", - "hashPath": "system.security.cryptography.openssl.4.3.0.nupkg.sha512" - }, - "System.Security.Cryptography.Primitives/4.3.0": { - "type": "package", - "serviceable": true, - "sha512": "sha512-7bDIyVFNL/xKeFHjhobUAQqSpJq9YTOpbEs6mR233Et01STBMXNAc/V+BM6dwYGc95gVh/Zf+iVXWzj3mE8DWg==", - "path": "system.security.cryptography.primitives/4.3.0", - "hashPath": "system.security.cryptography.primitives.4.3.0.nupkg.sha512" - }, - "System.Security.Cryptography.X509Certificates/4.3.0": { - "type": "package", - "serviceable": true, - "sha512": "sha512-t2Tmu6Y2NtJ2um0RtcuhP7ZdNNxXEgUm2JeoA/0NvlMjAhKCnM1NX07TDl3244mVp3QU6LPEhT3HTtH1uF7IYw==", - "path": "system.security.cryptography.x509certificates/4.3.0", - "hashPath": "system.security.cryptography.x509certificates.4.3.0.nupkg.sha512" - }, - "System.Security.Principal/4.3.0": { - "type": "package", - "serviceable": true, - "sha512": "sha512-I1tkfQlAoMM2URscUtpcRo/hX0jinXx6a/KUtEQoz3owaYwl3qwsO8cbzYVVnjxrzxjHo3nJC+62uolgeGIS9A==", - "path": "system.security.principal/4.3.0", - "hashPath": "system.security.principal.4.3.0.nupkg.sha512" - }, - "System.Security.Principal.Windows/4.3.0": { - "type": "package", - "serviceable": true, - "sha512": "sha512-HVL1rvqYtnRCxFsYag/2le/ZfKLK4yMw79+s6FmKXbSCNN0JeAhrYxnRAHFoWRa0dEojsDcbBSpH3l22QxAVyw==", - "path": "system.security.principal.windows/4.3.0", - "hashPath": "system.security.principal.windows.4.3.0.nupkg.sha512" - }, - "System.Security.SecureString/4.0.0": { - "type": "package", - "serviceable": true, - "sha512": "sha512-7TGOnj9Lr8ljCJbMHjZC34hEw3Z+zRPp7eNhLBg22mbSqO8gQMGLJ/vQkWv8HFYG0t2i53ZulKZ8NNho+jVK7Q==", - "path": "system.security.securestring/4.0.0", - "hashPath": "system.security.securestring.4.0.0.nupkg.sha512" - }, - "System.Text.Encoding/4.3.0": { - "type": "package", - "serviceable": true, - "sha512": "sha512-BiIg+KWaSDOITze6jGQynxg64naAPtqGHBwDrLaCtixsa5bKiR8dpPOHA7ge3C0JJQizJE+sfkz1wV+BAKAYZw==", - "path": "system.text.encoding/4.3.0", - "hashPath": "system.text.encoding.4.3.0.nupkg.sha512" - }, - "System.Text.Encoding.CodePages/4.5.1": { - "type": "package", - "serviceable": true, - "sha512": "sha512-4J2JQXbftjPMppIHJ7IC+VXQ9XfEagN92vZZNoG12i+zReYlim5dMoXFC1Zzg7tsnKDM7JPo5bYfFK4Jheq44w==", - "path": "system.text.encoding.codepages/4.5.1", - "hashPath": "system.text.encoding.codepages.4.5.1.nupkg.sha512" - }, - "System.Text.Encoding.Extensions/4.0.11": { - "type": "package", - "serviceable": true, - "sha512": "sha512-jtbiTDtvfLYgXn8PTfWI+SiBs51rrmO4AAckx4KR6vFK9Wzf6tI8kcRdsYQNwriUeQ1+CtQbM1W4cMbLXnj/OQ==", - "path": "system.text.encoding.extensions/4.0.11", - "hashPath": "system.text.encoding.extensions.4.0.11.nupkg.sha512" - }, - "System.Threading/4.3.0": { - "type": "package", - "serviceable": true, - "sha512": "sha512-VkUS0kOBcUf3Wwm0TSbrevDDZ6BlM+b/HRiapRFWjM5O0NS0LviG0glKmFK+hhPDd1XFeSdU1GmlLhb2CoVpIw==", - "path": "system.threading/4.3.0", - "hashPath": "system.threading.4.3.0.nupkg.sha512" - }, - "System.Threading.Tasks/4.3.0": { - "type": "package", - "serviceable": true, - "sha512": "sha512-LbSxKEdOUhVe8BezB/9uOGGppt+nZf6e1VFyw6v3DN6lqitm0OSn2uXMOdtP0M3W4iMcqcivm2J6UgqiwwnXiA==", - "path": "system.threading.tasks/4.3.0", - "hashPath": "system.threading.tasks.4.3.0.nupkg.sha512" - }, - "System.Threading.Thread/4.3.0": { - "type": "package", - "serviceable": true, - "sha512": "sha512-OHmbT+Zz065NKII/ZHcH9XO1dEuLGI1L2k7uYss+9C1jLxTC9kTZZuzUOyXHayRk+dft9CiDf3I/QZ0t8JKyBQ==", - "path": "system.threading.thread/4.3.0", - "hashPath": "system.threading.thread.4.3.0.nupkg.sha512" - }, - "System.Threading.ThreadPool/4.3.0": { - "type": "package", - "serviceable": true, - "sha512": "sha512-k/+g4b7vjdd4aix83sTgC9VG6oXYKAktSfNIJUNGxPEj7ryEOfzHHhfnmsZvjxawwcD9HyWXKCXmPjX8U4zeSw==", - "path": "system.threading.threadpool/4.3.0", - "hashPath": "system.threading.threadpool.4.3.0.nupkg.sha512" - } - } -} \ No newline at end of file diff --git a/MongoDbGenericRepository/lib/netstandard2.0/MongoDbGenericRepository.dll b/MongoDbGenericRepository/lib/netstandard2.0/MongoDbGenericRepository.dll index d2f0d521c551e5042660ca2371a861cd1579a822..ad5e0c3cc4561edb7069ee99f9aa2dd9442f6281 100644 GIT binary patch literal 183296 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 AEdT%j literal 166912 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 z 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 I?|I<=08!3E&;S4c diff --git a/MongoDbGenericRepository/lib/netstandard2.0/MongoDbGenericRepository.xml b/MongoDbGenericRepository/lib/netstandard2.0/MongoDbGenericRepository.xml deleted file mode 100644 index f8a95b1..0000000 --- a/MongoDbGenericRepository/lib/netstandard2.0/MongoDbGenericRepository.xml +++ /dev/null @@ -1,4520 +0,0 @@ - - - - MongoDbGenericRepository - - - -

- The IBaseMongoRepository interface exposes the CRUD functionality of the BaseMongoRepository. - - - - - Asynchronously returns a paginated list of the documents matching the filter condition. - - The type representing a Document. - - The number of documents you want to skip. Default value is 0. - The number of documents you want to take. Default value is 50. - An optional partition key. - - - - Asynchronously returns a paginated list of the documents matching the filter condition. - - The type representing a Document. - The type of the primary key for a Document. - - The number of documents you want to skip. Default value is 0. - The number of documents you want to take. Default value is 50. - An optional partition key. - - - - GetAndUpdateOne with filter - - The type representing a Document. - - - - - - - - GetAndUpdateOne with filter - - The type representing a Document. - The type of the primary key for a Document. - - - - - - - - Asynchronously Updates a document. - - The type representing a Document. - The type of the primary key for a Document. - The document with the modifications you want to persist. - - - - Updates a document. - - The type representing a Document. - The type of the primary key for a Document. - The document with the modifications you want to persist. - - - - Takes a document you want to modify and applies the update you have defined in MongoDb. - - The type representing a Document. - The type of the primary key for a Document. - The document you want to modify. - The update definition for the document. - - - - Takes a document you want to modify and applies the update you have defined in MongoDb. - - The type representing a Document. - The type of the primary key for a Document. - The document you want to modify. - The update definition for the document. - - - - For the entity selected by the filter, updates the property field with the given value.. - - The type representing a Document. - The type of the primary key for a Document. - The type of the field. - The document filter. - The field selector. - The new value of the property field. - The partition key for the document. - - - - Updates the property field with the given value update a property field in entities. - - The type representing a Document. - The type of the primary key for a Document. - The type of the field. - The document you want to modify. - The field selector. - The new value of the property field. - - - - For the entity selected by the filter, updates the property field with the given value. - - The type representing a Document. - The type of the primary key for a Document. - The type of the field. - The document filter. - The field selector. - The new value of the property field. - The partition key for the document. - - - - Updates the property field with the given value update a property field in entities. - - The type representing a Document. - The type of the primary key for a Document. - The type of the field. - The document you want to modify. - The field selector. - The new value of the property field. - - - - Updates the property field with the given value update a property field in entities. - - The type representing a Document. - The type of the primary key for a Document. - The type of the field. - The document filter. - The field selector. - The new value of the property field. - The value of the partition key. - - - - Updates the property field with the given value update a property field in entities. - - The type representing a Document. - The type of the primary key for a Document. - The type of the field. - The document filter. - The field selector. - The new value of the property field. - The value of the partition key. - - - - Updates a document. - - The type representing a Document. - The type of the primary key for a Document. - The client session. - The document with the modifications you want to persist. - The optional cancellation token. - - - - - Updates a document. - - The type representing a Document. - The type of the primary key for a Document. - The client session. - The document with the modifications you want to persist. - The optional cancellation token. - - - - - Updates a document. - - The type representing a Document. - The type of the primary key for a Document. - The client session. - The document to modify. - The update definition. - The optional cancellation token. - - - - - Updates a document. - - The type representing a Document. - The type of the primary key for a Document. - The client session. - The document to modify. - The update definition. - The optional cancellation token. - - - - - Updates a document. - - The type representing a Document. - The type of the primary key for a Document. - The type of the field to update. - The client session. - The document to modify. - The field to update. - The value of the field. - The optional cancellation token. - - - - - Updates a document. - - The type representing a Document. - The type of the primary key for a Document. - The type of the field to update. - The client session. - The document to modify. - The field to update. - The value of the field. - The optional cancellation token. - - - - - Updates a document. - - The type representing a Document. - The type of the primary key for a Document. - The type of the field to update. - The client session. - The filter for the update. - The field to update. - The value of the field. - The optional partition key. - The optional cancellation token. - - - - - Updates a document. - - The type representing a Document. - The type of the primary key for a Document. - The type of the field to update. - The client session. - The filter for the update. - The field to update. - The value of the field. - The optional partition key. - The optional cancellation token. - - - - - Updates a document. - - The type representing a Document. - The type of the primary key for a Document. - The type of the field to update. - The client session. - The filter for the update. - The field to update. - The value of the field. - The optional partition key. - The optional cancellation token. - - - - - Updates a document. - - The type representing a Document. - The type of the primary key for a Document. - The type of the field to update. - The client session. - The filter for the update. - The field to update. - The value of the field. - The optional partition key. - The optional cancellation token. - - - - - Updates a document. - - The type representing a Document. - The type of the primary key for a Document. - The client session. - The document with the modifications you want to persist. - The optional cancellation token. - - - - - Updates a document. - - The type representing a Document. - The type of the primary key for a Document. - The client session. - The document with the modifications you want to persist. - The optional cancellation token. - - - - - Updates a document. - - The type representing a Document. - The type of the primary key for a Document. - The client session. - The document to modify. - The update definition. - The optional cancellation token. - - - - - Updates a document. - - The type representing a Document. - The type of the primary key for a Document. - The client session. - The document to modify. - The update definition. - The optional cancellation token. - - - - - Updates a document. - - The type representing a Document. - The type of the primary key for a Document. - The type of the field to update. - The client session. - The document to modify. - The field to update. - The value of the field. - The optional cancellation token. - - - - - Updates a document. - - The type representing a Document. - The type of the primary key for a Document. - The type of the field to update. - The client session. - The document to modify. - The field to update. - The value of the field. - The optional cancellation token. - - - - - Updates a document. - - The type representing a Document. - The type of the primary key for a Document. - The type of the field to update. - The client session. - The filter for the update. - The field to update. - The value of the field. - The optional partition key. - The optional cancellation token. - - - - - Updates a document. - - The type representing a Document. - The type of the primary key for a Document. - The type of the field to update. - The client session. - The filter for the update. - The field to update. - The value of the field. - The optional partition key. - The optional cancellation token. - - - - - Updates a document. - - The type representing a Document. - The type of the primary key for a Document. - The type of the field to update. - The client session. - The filter for the update. - The field to update. - The value of the field. - The optional partition key. - The optional cancellation token. - - - - - Updates a document. - - The type representing a Document. - The type of the primary key for a Document. - The type of the field to update. - The client session. - The filter for the update. - The field to update. - The value of the field. - The optional partition key. - The optional cancellation token. - - - - - Asynchronously Updates a document. - - The type representing a Document. - The type of the primary key for a Document. - The document with the modifications you want to persist. - - - - Updates a document. - - The type representing a Document. - The type of the primary key for a Document. - The document with the modifications you want to persist. - - - - Takes a document you want to modify and applies the update you have defined in MongoDb. - - The type representing a Document. - The type of the primary key for a Document. - The document you want to modify. - The update definition for the document. - - - - Takes a document you want to modify and applies the update you have defined in MongoDb. - - The type representing a Document. - The type of the primary key for a Document. - The document you want to modify. - The update definition for the document. - - - - Updates the property field with the given value update a property field in entities. - - The type representing a Document. - The type of the primary key for a Document. - The type of the field. - The document you want to modify. - The field selector. - The new value of the property field. - - - - Updates the property field with the given value update a property field in entities. - - The type representing a Document. - The type of the primary key for a Document. - The type of the field. - The document you want to modify. - The field selector. - The new value of the property field. - - - - Updates the property field with the given value update a property field in entities. - - The type representing a Document. - The type of the primary key for a Document. - The type of the field. - The document filter. - The field selector. - The new value of the property field. - The value of the partition key. - - - - For the entity selected by the filter, updates the property field with the given value. - - The type representing a Document. - The type of the primary key for a Document. - The type of the field. - The document filter. - The field selector. - The new value of the property field. - The partition key for the document. - - - - Updates the property field with the given value. - - The type representing a Document. - The type of the primary key for a Document. - The type of the field. - The document filter. - The field selector. - The new value of the property field. - The value of the partition key. - - - - For the entity selected by the filter, updates the property field with the given value. - - The type representing a Document. - The type of the primary key for a Document. - The type of the field. - The document filter. - The field selector. - The new value of the property field. - The partition key for the document. - - - - Gets a collections for a potentially partitioned document type. - - The document type. - The type of the primary key. - The document. - - - - - Gets a collections for the type TDocument with a partition key. - - The document type. - The type of the primary key. - The collection partition key. - - - - - Gets a collections for a potentially partitioned document type. - - The document type. - The type of the primary key. - The collection partition key. - - - - - Converts a LINQ expression of TDocument, TValue to a LINQ expression of TDocument, object - - The document type. - The type of the value. - The expression to convert - - - - Maps a IndexCreationOptions object to a MongoDB.Driver.CreateIndexOptions object - - The options for creating an index. - - - - - Gets the minimum value of a property in a mongodb collections that is satisfying the filter. - - The document type. - The type of the primary key. - The type of the value used to order the query. - A LINQ expression filter. - A property selector to order by ascending. - An optional partition key. - - - - Gets the minimum value of a property in a mongodb collections that is satisfying the filter. - - The document type. - The type of the primary key. - The type of the value used to order the query. - A LINQ expression filter. - A property selector to order by descending. - An optional partition key. - - - - Asynchronously adds a document to the collection. - Populates the Id and AddedAtUtc fields if necessary. - - The type representing a Document. - The type of the primary key for a Document. - The document you want to add. - - - - Adds a document to the collection. - Populates the Id and AddedAtUtc fields if necessary. - - The type representing a Document. - The type of the primary key for a Document. - The document you want to add. - - - - Asynchronously adds a list of documents to the collection. - Populates the Id and AddedAtUtc fields if necessary. - - The type representing a Document. - The type of the primary key for a Document. - The documents you want to add. - - - - Adds a list of documents to the collection. - Populates the Id and AddedAtUtc fields if necessary. - - The type representing a Document. - The type of the primary key for a Document. - The documents you want to add. - - - - Sets the value of the document Id if it is not set already. - - The document type. - The type of the primary key. - The document. - - - - Deletes a document. - - The type representing a Document. - The type of the primary key for a Document. - The document you want to delete. - The number of documents deleted. - - - - Asynchronously deletes a document matching the condition of the LINQ expression filter. - - The type representing a Document. - The type of the primary key for a Document. - The document you want to delete. - The number of documents deleted. - - - - Deletes a document matching the condition of the LINQ expression filter. - - The type representing a Document. - The type of the primary key for a Document. - A LINQ expression filter. - An optional partition key. - The number of documents deleted. - - - - Asynchronously deletes a document matching the condition of the LINQ expression filter. - - The type representing a Document. - The type of the primary key for a Document. - A LINQ expression filter. - An optional partition key. - The number of documents deleted. - - - - Asynchronously deletes the documents matching the condition of the LINQ expression filter. - - The type representing a Document. - The type of the primary key for a Document. - A LINQ expression filter. - An optional partition key. - The number of documents deleted. - - - - Asynchronously deletes a list of documents. - - The type representing a Document. - The type of the primary key for a Document. - The list of documents to delete. - The number of documents deleted. - - - - Deletes a list of documents. - - The type representing a Document. - The type of the primary key for a Document. - The list of documents to delete. - The number of documents deleted. - - - - Deletes the documents matching the condition of the LINQ expression filter. - - The type representing a Document. - The type of the primary key for a Document. - A LINQ expression filter. - An optional partition key. - The number of documents deleted. - - - - Returns the names of the indexes present on a collection. - - The type representing a Document. - The type of the primary key for a Document. - An optional partition key - A list containing the names of the indexes on on the concerned collection. - - - - Create a text index on the given field. - IndexCreationOptions can be supplied to further specify - how the creation should be done. - - The type representing a Document. - The type of the primary key for a Document. - The field we want to index. - Options for creating an index. - An optional partition key. - The result of the create index operation. - - - - Creates an index on the given field in ascending order. - IndexCreationOptions can be supplied to further specify - how the creation should be done. - - The type representing a Document. - The type of the primary key for a Document. - The field we want to index. - Options for creating an index. - An optional partition key. - The result of the create index operation. - - - - Creates an index on the given field in descending order. - IndexCreationOptions can be supplied to further specify - how the creation should be done. - - The type representing a Document. - The type of the primary key for a Document. - The field we want to index. - Options for creating an index. - An optional partition key. - The result of the create index operation. - - - - Creates a hashed index on the given field. - IndexCreationOptions can be supplied to further specify - how the creation should be done. - - The type representing a Document. - The type of the primary key for a Document. - The field we want to index. - Options for creating an index. - An optional partition key. - The result of the create index operation. - - - - Creates a combined text index. - IndexCreationOptions can be supplied to further specify - how the creation should be done. - - The type representing a Document. - The type of the primary key for a Document. - The fields we want to index. - Options for creating an index. - An optional partition key. - The result of the create index operation. - - - - Drops the index given a field name - - The type representing a Document. - The type of the primary key for a Document. - The name of the index - An optional partition key - - - - Asynchronously returns one document given its id. - - The type representing a Document. - The type of the primary key for a Document. - The Id of the document you want to get. - An optional partition key. - - - - Returns one document given its id. - - The type representing a Document. - The type of the primary key for a Document. - The Id of the document you want to get. - An optional partition key. - - - - Asynchronously returns one document given an expression filter. - - The type representing a Document. - The type of the primary key for a Document. - A LINQ expression filter. - An optional partition key. - - - - Returns one document given an expression filter. - - The type representing a Document. - The type of the primary key for a Document. - A LINQ expression filter. - An optional partition key. - - - - Returns a collection cursor. - - The type representing a Document. - The type of the primary key for a Document. - A LINQ expression filter. - An optional partition key. - - - - Returns true if any of the document of the collection matches the filter condition. - - The type representing a Document. - The type of the primary key for a Document. - A LINQ expression filter. - An optional partition key. - - - - Returns true if any of the document of the collection matches the filter condition. - - The type representing a Document. - The type of the primary key for a Document. - A LINQ expression filter. - An optional partition key. - - - - Asynchronously returns a list of the documents matching the filter condition. - - The type representing a Document. - The type of the primary key for a Document. - A LINQ expression filter. - An optional partition key. - - - - Returns a list of the documents matching the filter condition. - - The type representing a Document. - The type of the primary key for a Document. - A LINQ expression filter. - An optional partition key. - - - - Asynchronously counts how many documents match the filter condition. - - The type representing a Document. - The type of the primary key for a Document. - A LINQ expression filter. - An optional partitionKey - - - - Counts how many documents match the filter condition. - - The type representing a Document. - The type of the primary key for a Document. - A LINQ expression filter. - An optional partitionKey - - - - Gets the document with the maximum value of a specified property in a MongoDB collections that is satisfying the filter. - - The document type. - The type of the primary key. - A LINQ expression filter. - A property selector to order by descending. - An optional partitionKey. - - - - Gets the document with the maximum value of a specified property in a MongoDB collections that is satisfying the filter. - - The document type. - The type of the primary key. - A LINQ expression filter. - A property selector to order by descending. - An optional partitionKey. - - - - Gets the document with the minimum value of a specified property in a MongoDB collections that is satisfying the filter. - - The document type. - The type of the primary key. - A LINQ expression filter. - A property selector to order by ascending. - An optional partitionKey. - - - - Gets the document with the minimum value of a specified property in a MongoDB collections that is satisfying the filter. - - The document type. - The type of the primary key. - A LINQ expression filter. - A property selector to order by ascending. - An optional partitionKey. - - - - Gets the maximum value of a property in a mongodb collections that is satisfying the filter. - - The document type. - The type of the primary key. - A LINQ expression filter. - A property selector to order by ascending. - An optional partitionKey. - - - - Gets the maximum value of a property in a mongodb collections that is satisfying the filter. - - The document type. - The type of the primary key. - The type of the value used to order the query. - A LINQ expression filter. - A property selector to order by ascending. - An optional partitionKey. - - - - Gets the minimum value of a property in a mongodb collections that is satisfying the filter. - - The document type. - The type of the primary key. - The type of the value used to order the query. - A LINQ expression filter. - A property selector to order by ascending. - An optional partition key. - - - - Gets the minimum value of a property in a mongodb collections that is satisfying the filter. - - The document type. - The type of the primary key. - The type of the value used to order the query. - A LINQ expression filter. - A property selector to order by ascending. - An optional partition key. - - - - Sums the values of a selected field for a given filtered collection of documents. - - The type representing a Document. - The type of the primary key for a Document. - A LINQ expression filter. - The field you want to sum. - The partition key of your document, if any. - - - - Sums the values of a selected field for a given filtered collection of documents. - - The type representing a Document. - The type of the primary key for a Document. - A LINQ expression filter. - The field you want to sum. - The partition key of your document, if any. - - - - Sums the values of a selected field for a given filtered collection of documents. - - The type representing a Document. - The type of the primary key for a Document. - A LINQ expression filter. - The field you want to sum. - The partition key of your document, if any. - - - - Sums the values of a selected field for a given filtered collection of documents. - - The type representing a Document. - The type of the primary key for a Document. - A LINQ expression filter. - The field you want to sum. - The partition key of your document, if any. - - - - Groups a collection of documents given a grouping criteria, - and returns a dictionary of listed document groups with keys having the different values of the grouping criteria. - - The type representing a Document. - The type of the primary key for a Document. - The type of the grouping criteria. - The type of the projected group. - The grouping criteria. - The projected group result. - The partition key of your document, if any. - - - - Groups filtered a collection of documents given a grouping criteria, - and returns a dictionary of listed document groups with keys having the different values of the grouping criteria. - - The type representing a Document. - The type of the primary key for a Document. - The type of the grouping criteria. - The type of the projected group. - A LINQ expression filter. - The grouping criteria. - The projected group result. - The partition key of your document, if any. - - - - Asynchronously returns a paginated list of the documents matching the filter condition. - - The type representing a Document. - The type of the primary key for a Document. - A LINQ expression filter. - The property selector. - Order of the sorting. - The number of documents you want to skip. Default value is 0. - The number of documents you want to take. Default value is 50. - An optional partition key. - - - - Asynchronously returns a paginated list of the documents matching the filter condition. - - The type representing a Document. - The type of the primary key for a Document. - A LINQ expression filter. - The sort definition. - The number of documents you want to skip. Default value is 0. - The number of documents you want to take. Default value is 50. - An optional partition key. - - - - Asynchronously returns a projected document matching the filter condition. - - The type representing a Document. - The type of the primary key for a Document. - The type representing the model you want to project to. - A LINQ expression filter. - The projection expression. - An optional partition key. - - - - Returns a projected document matching the filter condition. - - The type representing a Document. - The type of the primary key for a Document. - The type representing the model you want to project to. - A LINQ expression filter. - The projection expression. - An optional partition key. - - - - Asynchronously returns a list of projected documents matching the filter condition. - - The type representing a Document. - The type of the primary key for a Document. - The type representing the model you want to project to. - A LINQ expression filter. - The projection expression. - An optional partition key. - - - - Asynchronously returns a list of projected documents matching the filter condition. - - The type representing a Document. - The type of the primary key for a Document. - The type representing the model you want to project to. - The document filter. - The projection expression. - An optional partition key. - - - - The IBaseReadOnlyRepository exposes the generic Read Only functionality of the BaseMongoRepository. - - - - - The connection string. - - - - - The database name. - - - - - Asynchronously returns one document given its id. - - The type representing a Document. - The type of the primary key for a Document. - The Id of the document you want to get. - An optional partition key. - - - - Returns one document given its id. - - The type representing a Document. - The type of the primary key for a Document. - The Id of the document you want to get. - An optional partition key. - - - - Asynchronously returns one document given an expression filter. - - The type representing a Document. - The type of the primary key for a Document. - A LINQ expression filter. - An optional partition key. - - - - Returns one document given an expression filter. - - The type representing a Document. - The type of the primary key for a Document. - A LINQ expression filter. - An optional partition key. - - - - Returns a collection cursor. - - The type representing a Document. - The type of the primary key for a Document. - A LINQ expression filter. - An optional partition key. - - - - Returns true if any of the document of the collection matches the filter condition. - - The type representing a Document. - The type of the primary key for a Document. - A LINQ expression filter. - An optional partition key. - - - - Returns true if any of the document of the collection matches the filter condition. - - The type representing a Document. - The type of the primary key for a Document. - A LINQ expression filter. - An optional partition key. - - - - Asynchronously returns a list of the documents matching the filter condition. - - The type representing a Document. - The type of the primary key for a Document. - A LINQ expression filter. - An optional partition key. - - - - Returns a list of the documents matching the filter condition. - - The type representing a Document. - The type of the primary key for a Document. - A LINQ expression filter. - An optional partition key. - - - - Asynchronously counts how many documents match the filter condition. - - The type representing a Document. - The type of the primary key for a Document. - A LINQ expression filter. - An optional partitionKey - - - - Counts how many documents match the filter condition. - - The type representing a Document. - The type of the primary key for a Document. - A LINQ expression filter. - An optional partitionKey - - - - Gets the document with the maximum value of a specified property in a MongoDB collections that is satisfying the filter. - - The document type. - The type of the primary key. - A LINQ expression filter. - A property selector to order by descending. - An optional partitionKey. - - - - Gets the document with the maximum value of a specified property in a MongoDB collections that is satisfying the filter. - - The document type. - The type of the primary key. - A LINQ expression filter. - A property selector to order by descending. - An optional partitionKey. - - - - Gets the document with the minimum value of a specified property in a MongoDB collections that is satisfying the filter. - - The document type. - The type of the primary key. - A LINQ expression filter. - A property selector to order by ascending. - An optional partitionKey. - - - - Gets the document with the minimum value of a specified property in a MongoDB collections that is satisfying the filter. - - The document type. - The type of the primary key. - A LINQ expression filter. - A property selector to order by ascending. - An optional partitionKey. - - - - Gets the maximum value of a property in a mongodb collections that is satisfying the filter. - - The document type. - The type of the primary key. - The type of the value used to order the query. - A LINQ expression filter. - A property selector to order by ascending. - An optional partitionKey. - - - - Gets the maximum value of a property in a mongodb collections that is satisfying the filter. - - The document type. - The type of the primary key. - The type of the value used to order the query. - A LINQ expression filter. - A property selector to order by ascending. - An optional partitionKey. - - - - Gets the minimum value of a property in a mongodb collections that is satisfying the filter. - - The document type. - The type of the primary key. - The type of the value used to order the query. - A LINQ expression filter. - A property selector to order by ascending. - An optional partition key. - - - - Gets the minimum value of a property in a mongodb collections that is satisfying the filter. - - The document type. - The type of the primary key. - The type of the value used to order the query. - A LINQ expression filter. - A property selector to order by ascending. - An optional partition key. - - - - Sums the values of a selected field for a given filtered collection of documents. - - The type representing a Document. - The type of the primary key. - A LINQ expression filter. - The field you want to sum. - The partition key of your document, if any. - - - - Sums the values of a selected field for a given filtered collection of documents. - - The type representing a Document. - The type of the primary key. - A LINQ expression filter. - The field you want to sum. - The partition key of your document, if any. - - - - Sums the values of a selected field for a given filtered collection of documents. - - The type representing a Document. - The type of the primary key. - A LINQ expression filter. - The field you want to sum. - The partition key of your document, if any. - - - - Sums the values of a selected field for a given filtered collection of documents. - - The type representing a Document. - The type of the primary key. - A LINQ expression filter. - The field you want to sum. - The partition key of your document, if any. - - - - Asynchronously returns a projected document matching the filter condition. - - The type representing a Document. - The type of the primary key for a Document. - The type representing the model you want to project to. - - The projection expression. - An optional partition key. - - - - Returns a projected document matching the filter condition. - - The type representing a Document. - The type of the primary key for a Document. - The type representing the model you want to project to. - - The projection expression. - An optional partition key. - - - - Asynchronously returns a list of projected documents matching the filter condition. - - The type representing a Document. - The type of the primary key for a Document. - The type representing the model you want to project to. - - The projection expression. - An optional partition key. - - - - Asynchronously returns a list of projected documents matching the filter condition. - - The type representing a Document. - The type of the primary key for a Document. - The type representing the model you want to project to. - - The projection expression. - An optional partition key. - - - - Groups filtered a collection of documents given a grouping criteria, - and returns a dictionary of listed document groups with keys having the different values of the grouping criteria. - - The type representing a Document. - The type of the grouping criteria. - The type of the projected group. - The type of the primary key. - The grouping criteria. - The projected group result. - The partition key of your document, if any. - - - - Groups filtered a collection of documents given a grouping criteria, - and returns a dictionary of listed document groups with keys having the different values of the grouping criteria. - - The type representing a Document. - The type of the grouping criteria. - The type of the projected group. - The type of the primary key. - A LINQ expression filter. - The grouping criteria. - The projected group result. - The partition key of your document, if any. - - - - Asynchronously returns a paginated list of the documents matching the filter condition. - - The type representing a Document. - The type of the primary key for a Document. - A LINQ expression filter. - The property selector. - Order of the sorting. - The number of documents you want to skip. Default value is 0. - The number of documents you want to take. Default value is 50. - An optional partition key. - - - - Asynchronously returns a paginated list of the documents matching the filter condition. - - The type representing a Document. - The type of the primary key for a Document. - A LINQ expression filter. - The sort definition. - The number of documents you want to skip. Default value is 0. - The number of documents you want to take. Default value is 50. - An optional partition key. - - - - This is the interface of the IMongoDbContext which is managed by the . - - - - - The IMongoClient from the official MongoDb driver - - - - - The IMongoDatabase from the official Mongodb driver - - - - - Returns a collection for a document type that has a partition key. - - - The value of the partition key. - - - - Drops a collection having a partitionkey, use very carefully. - - - - - - Sets the Guid representation of the MongoDb Driver. - - The new value of the GuidRepresentation - - - - The IReadOnlyMongoRepository exposes the readonly functionality of the BaseMongoRepository. - - - - - Asynchronously returns one document given its id. - - The type representing a Document. - The Id of the document you want to get. - An optional partition key. - - - - Returns one document given its id. - - The type representing a Document. - The Id of the document you want to get. - An optional partition key. - - - - Asynchronously returns one document given an expression filter. - - The type representing a Document. - A LINQ expression filter. - An optional partition key. - - - - Returns one document given an expression filter. - - The type representing a Document. - A LINQ expression filter. - An optional partition key. - - - - Returns a collection cursor. - - The type representing a Document. - A LINQ expression filter. - An optional partition key. - - - - Asynchronously returns true if any of the document of the collection matches the filter condition. - - The type representing a Document. - A LINQ expression filter. - An optional partition key. - - - - Returns true if any of the document of the collection matches the filter condition. - - The type representing a Document. - A LINQ expression filter. - An optional partition key. - - - - Asynchronously returns a list of the documents matching the filter condition. - - The type representing a Document. - A LINQ expression filter. - An optional partition key. - - - - Returns a list of the documents matching the filter condition. - - The type representing a Document. - A LINQ expression filter. - An optional partition key. - - - - Asynchronously counts how many documents match the filter condition. - - The type representing a Document. - A LINQ expression filter. - An optional partition key. - - - - Counts how many documents match the filter condition. - - The type representing a Document. - A LINQ expression filter. - An optional partition key. - - - - Gets the document with the maximum value of a specified property in a MongoDB collections that is satisfying the filter. - - The document type. - A LINQ expression filter. - A property selector to order by descending. - An optional partitionKey. - - - - Gets the document with the maximum value of a specified property in a MongoDB collections that is satisfying the filter. - - The document type. - A LINQ expression filter. - A property selector to order by descending. - An optional partitionKey. - - - - - Gets the document with the maximum value of a specified property in a MongoDB collections that is satisfying the filter. - - The document type. - A LINQ expression filter. - A property selector to order by ascending. - An optional partitionKey. - - - - Gets the document with the maximum value of a specified property in a MongoDB collections that is satisfying the filter. - - The document type. - A LINQ expression filter. - A property selector to order by ascending. - An optional partitionKey. - - - - Gets the maximum value of a property in a mongodb collections that is satisfying the filter. - - The document type. - The type of the value used to order the query. - A LINQ expression filter. - A property selector to order by ascending. - An optional partitionKey. - - - - Gets the maximum value of a property in a mongodb collections that is satisfying the filter. - - The document type. - The type of the value used to order the query. - A LINQ expression filter. - A property selector to order by ascending. - An optional partitionKey. - - - - Gets the minimum value of a property in a mongodb collections that is satisfying the filter. - - The document type. - The type of the value used to order the query. - A LINQ expression filter. - A property selector to order by ascending. - An optional partition key. - - - - Gets the minimum value of a property in a mongodb collections that is satisfying the filter. - - The document type. - The type of the value used to order the query. - A LINQ expression filter. - A property selector to order by ascending. - An optional partition key. - - - - Sums the values of a selected field for a given filtered collection of documents. - - The type representing a Document. - A LINQ expression filter. - The field you want to sum. - The partition key of your document, if any. - - - - Sums the values of a selected field for a given filtered collection of documents. - - The type representing a Document. - A LINQ expression filter. - The field you want to sum. - The partition key of your document, if any. - - - - Sums the values of a selected field for a given filtered collection of documents. - - The type representing a Document. - A LINQ expression filter. - The field you want to sum. - The partition key of your document, if any. - - - - Sums the values of a selected field for a given filtered collection of documents. - - The type representing a Document. - A LINQ expression filter. - The field you want to sum. - The partition key of your document, if any. - - - - Asynchronously returns a projected document matching the filter condition. - - The type representing a Document. - The type of the primary key for a Document. - The type representing the model you want to project to. - A LINQ expression filter. - The projection expression. - An optional partition key. - - - - Returns a projected document matching the filter condition. - - The type representing a Document. - The type representing the model you want to project to. - A LINQ expression filter. - The projection expression. - An optional partition key. - - - - Asynchronously returns a list of projected documents matching the filter condition. - - The type representing a Document. - The type representing the model you want to project to. - A LINQ expression filter. - The projection expression. - An optional partition key. - - - - Asynchronously returns a list of projected documents matching the filter condition. - - The type representing a Document. - The type representing the model you want to project to. - A LINQ expression filter. - The projection expression. - An optional partition key. - - - - Groups a collection of documents given a grouping criteria, - and returns a dictionary of listed document groups with keys having the different values of the grouping criteria. - - The type representing a Document. - The type of the grouping criteria. - The type of the projected group. - The grouping criteria. - The projected group result. - The partition key of your document, if any. - - - - Groups filtered a collection of documents given a grouping criteria, - and returns a dictionary of listed document groups with keys having the different values of the grouping criteria. - - The type representing a Document. - The type of the grouping criteria. - The type of the projected group. - A LINQ expression filter. - The grouping criteria. - The projected group result. - The partition key of your document, if any. - - - - Asynchronously returns a paginated list of the documents matching the filter condition. - - The type representing a Document. - The type of the primary key for a Document. - A LINQ expression filter. - The property selector. - Order of the sorting. - The number of documents you want to skip. Default value is 0. - The number of documents you want to take. Default value is 50. - An optional partition key. - - - - Asynchronously returns a paginated list of the documents matching the filter condition. - - The type representing a Document. - The type of the primary key for a Document. - A LINQ expression filter. - The sort definition. - The number of documents you want to skip. Default value is 0. - The number of documents you want to take. Default value is 50. - An optional partition key. - - - - This attribute allows you to specify of the name of the collection. - Added at commit c117bf2a7fee378f1e02199dea9b2023a7089ee2 by https://github.com/Etchelon - who has included the CollectionName attribute into the repo to give another choice to the user on how - to name their collections. - The attribute takes precedence of course, and if not present the library will fall back to your Pluralize method. - - - - - The name of the collection in which your documents are stored. - - - - - The constructor. - - The name of the collection. - - - - Asynchronously adds a document to the collection. - Populates the Id and AddedAtUtc fields if necessary. - - The type representing a Document. - The type of the primary key for a Document. - The document you want to add. - - - - Adds a document to the collection. - Populates the Id and AddedAtUtc fields if necessary. - - The type representing a Document. - The type of the primary key for a Document. - The document you want to add. - - - - Asynchronously adds a list of documents to the collection. - Populates the Id and AddedAtUtc fields if necessary. - - The type representing a Document. - The type of the primary key for a Document. - The documents you want to add. - - - - Adds a list of documents to the collection. - Populates the Id and AddedAtUtc fields if necessary. - - The type representing a Document. - The type of the primary key for a Document. - The documents you want to add. - - - - The base Repository, it is meant to be inherited from by your custom custom MongoRepository implementation. - Its constructor must be given a connection string and a database name. - - - The base Repository, it is meant to be inherited from by your custom custom MongoRepository implementation. - Its constructor must be given a connection string and a database name. - - - The base Repository, it is meant to be inherited from by your custom custom MongoRepository implementation. - Its constructor must be given a connection string and a database name. - - - The base Repository, it is meant to be inherited from by your custom custom MongoRepository implementation. - Its constructor must be given a connection string and a database name. - - - - - Asynchronously adds a document to the collection. - Populates the Id and AddedAtUtc fields if necessary. - - The type representing a Document. - The type of the primary key for a Document. - The document you want to add. - - - - Asynchronously adds a document to the collection. - Populates the Id and AddedAtUtc fields if necessary. - - The type representing a Document. - The document you want to add. - - - - Adds a document to the collection. - Populates the Id and AddedAtUtc fields if necessary. - - The type representing a Document. - The type of the primary key for a Document. - The document you want to add. - - - - Adds a document to the collection. - Populates the Id and AddedAtUtc fields if necessary. - - The type representing a Document. - The document you want to add. - - - - Asynchronously adds a list of documents to the collection. - Populates the Id and AddedAtUtc fields if necessary. - - The type representing a Document. - The type of the primary key for a Document. - The documents you want to add. - - - - Asynchronously adds a list of documents to the collection. - Populates the Id and AddedAtUtc fields if necessary. - - The type representing a Document. - The documents you want to add. - - - - Adds a list of documents to the collection. - Populates the Id and AddedAtUtc fields if necessary. - - The type representing a Document. - The type of the primary key for a Document. - The documents you want to add. - - - - Adds a list of documents to the collection. - Populates the Id and AddedAtUtc fields if necessary. - - The type representing a Document. - The documents you want to add. - - - - Asynchronously deletes a document. - - The type representing a Document. - The document you want to delete. - The number of documents deleted. - - - - Deletes a document. - - The type representing a Document. - The document you want to delete. - The number of documents deleted. - - - - Deletes a document matching the condition of the LINQ expression filter. - - The type representing a Document. - A LINQ expression filter. - An optional partition key. - The number of documents deleted. - - - - Asynchronously deletes a document matching the condition of the LINQ expression filter. - - The type representing a Document. - A LINQ expression filter. - An optional partition key. - The number of documents deleted. - - - - Asynchronously deletes the documents matching the condition of the LINQ expression filter. - - The type representing a Document. - A LINQ expression filter. - An optional partition key. - The number of documents deleted. - - - - Asynchronously deletes a list of documents. - - The type representing a Document. - The list of documents to delete. - The number of documents deleted. - - - - Deletes a list of documents. - - The type representing a Document. - The list of documents to delete. - The number of documents deleted. - - - - Deletes the documents matching the condition of the LINQ expression filter. - - The type representing a Document. - A LINQ expression filter. - An optional partition key. - The number of documents deleted. - - - - Deletes a document. - - The type representing a Document. - The type of the primary key for a Document. - The document you want to delete. - The number of documents deleted. - - - - Asynchronously deletes a document matching the condition of the LINQ expression filter. - - The type representing a Document. - The type of the primary key for a Document. - The document you want to delete. - The number of documents deleted. - - - - Deletes a document matching the condition of the LINQ expression filter. - - The type representing a Document. - The type of the primary key for a Document. - A LINQ expression filter. - An optional partition key. - The number of documents deleted. - - - - Asynchronously deletes a document matching the condition of the LINQ expression filter. - - The type representing a Document. - The type of the primary key for a Document. - A LINQ expression filter. - An optional partition key. - The number of documents deleted. - - - - Asynchronously deletes the documents matching the condition of the LINQ expression filter. - - The type representing a Document. - The type of the primary key for a Document. - A LINQ expression filter. - An optional partition key. - The number of documents deleted. - - - - Asynchronously deletes a list of documents. - - The type representing a Document. - The type of the primary key for a Document. - The list of documents to delete. - The number of documents deleted. - - - - Deletes a list of documents. - - The type representing a Document. - The type of the primary key for a Document. - The list of documents to delete. - The number of documents deleted. - - - - Deletes the documents matching the condition of the LINQ expression filter. - - The type representing a Document. - The type of the primary key for a Document. - A LINQ expression filter. - An optional partition key. - The number of documents deleted. - - - - Returns the names of the indexes present on a collection. - - The type representing a Document. - The type of the primary key for a Document. - An optional partition key - A list containing the names of the indexes on on the concerned collection. - - - - Returns the names of the indexes present on a collection. - - The type representing a Document. - An optional partition key - A list containing the names of the indexes on on the concerned collection. - - - - Create a text index on the given field. - IndexCreationOptions can be supplied to further specify - how the creation should be done. - - The type representing a Document. - The field we want to index. - Options for creating an index. - An optional partition key. - The result of the create index operation. - - - - Create a text index on the given field. - IndexCreationOptions can be supplied to further specify - how the creation should be done. - - The type representing a Document. - The type of the primary key for a Document. - The field we want to index. - Options for creating an index. - An optional partition key. - The result of the create index operation. - - - - Creates an index on the given field in ascending order. - IndexCreationOptions can be supplied to further specify - how the creation should be done. - - The type representing a Document. - The field we want to index. - Options for creating an index. - An optional partition key. - The result of the create index operation. - - - - Creates an index on the given field in ascending order. - IndexCreationOptions can be supplied to further specify - how the creation should be done. - - The type representing a Document. - The type of the primary key for a Document. - The field we want to index. - Options for creating an index. - An optional partition key. - The result of the create index operation. - - - - Creates an index on the given field in descending order. - IndexCreationOptions can be supplied to further specify - how the creation should be done. - - The type representing a Document. - The field we want to index. - Options for creating an index. - An optional partition key. - The result of the create index operation. - - - - - - - Creates a hashed index on the given field. - IndexCreationOptions can be supplied to further specify - how the creation should be done. - - The type representing a Document. - The field we want to index. - Options for creating an index. - An optional partition key. - The result of the create index operation. - - - - - - - Creates a combined text index. - IndexCreationOptions can be supplied to further specify - how the creation should be done. - - The type representing a Document. - The fields we want to index. - Options for creating an index. - An optional partition key. - The result of the create index operation. - - - - - - - Drops the index given a field name - - The type representing a Document. - The name of the index - An optional partition key - - - - - - - The constructor taking a connection string and a database name. - - The connection string of the MongoDb server. - The name of the database against which you want to perform operations. - - - - The contructor taking a . - - A mongodb context implementing - - - - The contructor taking a . - - A mongodb context implementing - - - - Asynchronously returns a paginated list of the documents matching the filter condition. - - The type representing a Document. - A LINQ expression filter. - The number of documents you want to skip. Default value is 0. - The number of documents you want to take. Default value is 50. - An optional partition key. - - - - Asynchronously returns a paginated list of the documents matching the filter condition. - - The type representing a Document. - The type of the primary key for a Document. - A LINQ expression filter. - The number of documents you want to skip. Default value is 0. - The number of documents you want to take. Default value is 50. - An optional partition key. - - - - GetAndUpdateOne with filter - - The type representing a Document. - A LINQ expression filter. - - - - - - - GetAndUpdateOne with filter - - The type representing a Document. - The type of the primary key for a Document. - A LINQ expression filter. - - - - - - - Sets the value of the document Id if it is not set already. - - The document type. - The type of the primary key. - The document. - - - - Sets the value of the document Id if it is not set already. - - The document type. - The document. - - - - Gets a collections for a potentially partitioned document type. - - The document type. - The collection partition key. - - - - - Gets a collections for the type TDocument with a partition key. - - The document type. - The collection partition key. - - - - - Updates a document. - - The type representing a Document. - The type of the primary key for a Document. - The client session. - The document with the modifications you want to persist. - The optional cancellation token. - - - - - Updates a document. - - The type representing a Document. - The type of the primary key for a Document. - The client session. - The document with the modifications you want to persist. - The optional cancellation token. - - - - - Updates a document. - - The type representing a Document. - The type of the primary key for a Document. - The client session. - The document to modify. - The update definition. - The optional cancellation token. - - - - - Updates a document. - - The type representing a Document. - The type of the primary key for a Document. - The client session. - The document to modify. - The update definition. - The optional cancellation token. - - - - - Updates a document. - - The type representing a Document. - The type of the primary key for a Document. - The type of the field to update. - The client session. - The document to modify. - The field to update. - The value of the field. - The optional cancellation token. - - - - - Updates a document. - - The type representing a Document. - The type of the primary key for a Document. - The type of the field to update. - The client session. - The document to modify. - The field to update. - The value of the field. - The optional cancellation token. - - - - - Updates a document. - - The type representing a Document. - The type of the primary key for a Document. - The type of the field to update. - The client session. - The filter for the update. - The field to update. - The value of the field. - The optional partition key. - The optional cancellation token. - - - - - Updates a document. - - The type representing a Document. - The type of the primary key for a Document. - The type of the field to update. - The client session. - The filter for the update. - The field to update. - The value of the field. - The optional partition key. - The optional cancellation token. - - - - - Updates a document. - - The type representing a Document. - The type of the primary key for a Document. - The type of the field to update. - The client session. - The filter for the update. - The field to update. - The value of the field. - The optional partition key. - The optional cancellation token. - - - - - Updates a document. - - The type representing a Document. - The type of the primary key for a Document. - The type of the field to update. - The client session. - The filter for the update. - The field to update. - The value of the field. - The optional partition key. - The optional cancellation token. - - - - - Asynchronously Updates a document. - - The type representing a Document. - The document with the modifications you want to persist. - - - - Updates a document. - - The type representing a Document. - The document with the modifications you want to persist. - - - - Takes a document you want to modify and applies the update you have defined in MongoDb. - - The type representing a Document. - The document you want to modify. - The update definition for the document. - - - - Takes a document you want to modify and applies the update you have defined in MongoDb. - - The type representing a Document. - The document you want to modify. - The update definition for the document. - - - - Updates the property field with the given value update a property field in entities. - - The type representing a Document. - The type of the field. - The document you want to modify. - The field selector. - The new value of the property field. - - - - Updates the property field with the given value update a property field in entities. - - The type representing a Document. - The type of the field. - The document you want to modify. - The field selector. - The new value of the property field. - - - - Updates the property field with the given value update a property field in entities. - - The type representing a Document. - The type of the field. - The document filter. - The field selector. - The new value of the property field. - The value of the partition key. - - - - For the entity selected by the filter, updates the property field with the given value. - - The type representing a Document. - The type of the field. - The document filter. - The field selector. - The new value of the property field. - The partition key for the document. - - - - Updates the property field with the given value update a property field in entities. - - The type representing a Document. - The type of the field. - The document filter. - The field selector. - The new value of the property field. - The value of the partition key. - - - - For the entity selected by the filter, updates the property field with the given value. - - The type representing a Document. - The type of the field. - The document filter. - The field selector. - The new value of the property field. - The partition key for the document. - - - - Asynchronously Updates a document. - - The type representing a Document. - The type of the primary key for a Document. - The document with the modifications you want to persist. - - - - Updates a document. - - The type representing a Document. - The type of the primary key for a Document. - The document with the modifications you want to persist. - - - - Takes a document you want to modify and applies the update you have defined in MongoDb. - - The type representing a Document. - The type of the primary key for a Document. - The document you want to modify. - The update definition for the document. - - - - Takes a document you want to modify and applies the update you have defined in MongoDb. - - The type representing a Document. - The type of the primary key for a Document. - The document you want to modify. - The update definition for the document. - - - - Updates the property field with the given value update a property field in entities. - - The type representing a Document. - The type of the primary key for a Document. - The type of the field. - The document you want to modify. - The field selector. - The new value of the property field. - - - - Updates the property field with the given value update a property field in entities. - - The type representing a Document. - The type of the primary key for a Document. - The type of the field. - The document you want to modify. - The field selector. - The new value of the property field. - - - - Updates the property field with the given value. - - The type representing a Document. - The type of the primary key for a Document. - The type of the field. - The document filter. - The field selector. - The new value of the property field. - The value of the partition key. - - - - For the entity selected by the filter, updates the property field with the given value. - - The type representing a Document. - The type of the primary key for a Document. - The type of the field. - The document filter. - The field selector. - The new value of the property field. - The partition key for the document. - - - - Updates the property field with the given value update a property field in entities. - - The type representing a Document. - The type of the primary key for a Document. - The type of the field. - The document filter. - The field selector. - The new value of the property field. - The value of the partition key. - - - - For the entity selected by the filter, updates the property field with the given value. - - The type representing a Document. - The type of the primary key for a Document. - The type of the field. - The document filter. - The field selector. - The new value of the property field. - The partition key for the document. - - - - Deletes a document. - - The type representing a Document. - The type of the primary key for a Document. - The document you want to delete. - The number of documents deleted. - - - - Asynchronously deletes a document matching the condition of the LINQ expression filter. - - The type representing a Document. - The type of the primary key for a Document. - The document you want to delete. - The number of documents deleted. - - - - Deletes a document matching the condition of the LINQ expression filter. - - The type representing a Document. - The type of the primary key for a Document. - A LINQ expression filter. - An optional partition key. - The number of documents deleted. - - - - Asynchronously deletes a document matching the condition of the LINQ expression filter. - - The type representing a Document. - The type of the primary key for a Document. - A LINQ expression filter. - An optional partition key. - The number of documents deleted. - - - - Asynchronously deletes the documents matching the condition of the LINQ expression filter. - - The type representing a Document. - The type of the primary key for a Document. - A LINQ expression filter. - An optional partition key. - The number of documents deleted. - - - - Asynchronously deletes a list of documents. - - The type representing a Document. - The type of the primary key for a Document. - The list of documents to delete. - The number of documents deleted. - - - - Deletes a list of documents. - - The type representing a Document. - The type of the primary key for a Document. - The list of documents to delete. - The number of documents deleted. - - - - Deletes the documents matching the condition of the LINQ expression filter. - - The type representing a Document. - The type of the primary key for a Document. - A LINQ expression filter. - An optional partition key. - The number of documents deleted. - - - - Returns the names of the indexes present on a collection. - - The type representing a Document. - The type of the primary key for a Document. - An optional partition key - A list containing the names of the indexes on on the concerned collection. - - - - Create a text index on the given field. - IndexCreationOptions can be supplied to further specify - how the creation should be done. - - The type representing a Document. - The type of the primary key for a Document. - The field we want to index. - Options for creating an index. - An optional partition key. - The result of the create index operation. - - - - Creates an index on the given field in ascending order. - IndexCreationOptions can be supplied to further specify - how the creation should be done. - - The type representing a Document. - The type of the primary key for a Document. - The field we want to index. - Options for creating an index. - An optional partition key. - The result of the create index operation. - - - - Creates an index on the given field in descending order. - IndexCreationOptions can be supplied to further specify - how the creation should be done. - - The type representing a Document. - The type of the primary key for a Document. - The field we want to index. - Options for creating an index. - An optional partition key. - The result of the create index operation. - - - - Creates a hashed index on the given field. - IndexCreationOptions can be supplied to further specify - how the creation should be done. - - The type representing a Document. - The type of the primary key for a Document. - The field we want to index. - Options for creating an index. - An optional partition key. - The result of the create index operation. - - - - Creates a combined text index. - IndexCreationOptions can be supplied to further specify - how the creation should be done. - - The type representing a Document. - The type of the primary key for a Document. - The fields we want to index. - Options for creating an index. - An optional partition key. - The result of the create index operation. - - - - Drops the index given a field name - - The type representing a Document. - The type of the primary key for a Document. - The name of the index - An optional partition key - - - - The interface exposing data insertion functionality for Key typed repositories. - - - - - - Asynchronously adds a document to the collection. - Populates the Id and AddedAtUtc fields if necessary. - - The type representing a Document. - The document you want to add. - - - - Adds a document to the collection. - Populates the Id and AddedAtUtc fields if necessary. - - The type representing a Document. - The document you want to add. - - - - Asynchronously adds a list of documents to the collection. - Populates the Id and AddedAtUtc fields if necessary. - - The type representing a Document. - The documents you want to add. - - - - Adds a list of documents to the collection. - Populates the Id and AddedAtUtc fields if necessary. - - The type representing a Document. - The documents you want to add. - - - - The base Repository, it is meant to be inherited from by your custom custom MongoRepository implementation. - Its constructor must be given a connection string and a database name. - - - The base Repository, it is meant to be inherited from by your custom custom MongoRepository implementation. - Its constructor must be given a connection string and a database name. - - - The base Repository, it is meant to be inherited from by your custom custom MongoRepository implementation. - Its constructor must be given a connection string and a database name. - - The type of the document Id. - - - - The MongoDb accessor to insert data. - - - - - Asynchronously adds a document to the collection. - Populates the Id and AddedAtUtc fields if necessary. - - The type representing a Document. - The document you want to add. - - - - Adds a document to the collection. - Populates the Id and AddedAtUtc fields if necessary. - - The type representing a Document. - The document you want to add. - - - - Asynchronously adds a list of documents to the collection. - Populates the Id and AddedAtUtc fields if necessary. - - The type representing a Document. - The documents you want to add. - - - - Adds a list of documents to the collection. - Populates the Id and AddedAtUtc fields if necessary. - - The type representing a Document. - The documents you want to add. - - - - The MongoDb accessor to delete data. - - - - - Deletes a document. - - The type representing a Document. - The document you want to delete. - The number of documents deleted. - - - - Asynchronously deletes a document matching the condition of the LINQ expression filter. - - The type representing a Document. - The document you want to delete. - The number of documents deleted. - - - - Deletes a document matching the condition of the LINQ expression filter. - - The type representing a Document. - A LINQ expression filter. - An optional partition key. - The number of documents deleted. - - - - Asynchronously deletes a document matching the condition of the LINQ expression filter. - - The type representing a Document. - A LINQ expression filter. - An optional partition key. - The number of documents deleted. - - - - Asynchronously deletes the documents matching the condition of the LINQ expression filter. - - The type representing a Document. - A LINQ expression filter. - An optional partition key. - The number of documents deleted. - - - - Asynchronously deletes a list of documents. - - The type representing a Document. - The list of documents to delete. - The number of documents deleted. - - - - Deletes a list of documents. - - The type representing a Document. - The list of documents to delete. - The number of documents deleted. - - - - Deletes the documents matching the condition of the LINQ expression filter. - - The type representing a Document. - A LINQ expression filter. - An optional partition key. - The number of documents deleted. - - - - The MongoDb accessor to manage indexes. - - - - - Returns the names of the indexes present on a collection. - - The type representing a Document. - An optional partition key - A list containing the names of the indexes on on the concerned collection. - - - - Create a text index on the given field. - IndexCreationOptions can be supplied to further specify - how the creation should be done. - - The type representing a Document. - The field we want to index. - Options for creating an index. - An optional partition key. - The result of the create index operation. - - - - Creates an index on the given field in ascending order. - IndexCreationOptions can be supplied to further specify - how the creation should be done. - - The type representing a Document. - The field we want to index. - Options for creating an index. - An optional partition key. - The result of the create index operation. - - - - Creates an index on the given field in descending order. - IndexCreationOptions can be supplied to further specify - how the creation should be done. - - The type representing a Document. - The field we want to index. - Options for creating an index. - An optional partition key. - The result of the create index operation. - - - - Creates a hashed index on the given field. - IndexCreationOptions can be supplied to further specify - how the creation should be done. - - The type representing a Document. - The field we want to index. - Options for creating an index. - An optional partition key. - The result of the create index operation. - - - - Creates a combined text index. - IndexCreationOptions can be supplied to further specify - how the creation should be done. - - The type representing a Document. - The fields we want to index. - Options for creating an index. - An optional partition key. - The result of the create index operation. - - - - Drops the index given a field name - - The type representing a Document. - The name of the index - An optional partition key - - - - The constructor taking a connection string and a database name. - - The connection string of the MongoDb server. - The name of the database against which you want to perform operations. - - - - The contructor taking a . - - A mongodb context implementing - - - - The contructor taking a . - - A mongodb context implementing - - - - Gets a collections for a potentially partitioned document type. - - The document type. - The collection partition key. - - - - - Gets a collections for the type TDocument with a partition key. - - The document type. - The collection partition key. - - - - - Asynchronously Updates a document. - - The type representing a Document. - The document with the modifications you want to persist. - - - - Updates a document. - - The type representing a Document. - The document with the modifications you want to persist. - - - - Takes a document you want to modify and applies the update you have defined in MongoDb. - - The type representing a Document. - The document you want to modify. - The update definition for the document. - - - - Takes a document you want to modify and applies the update you have defined in MongoDb. - - The type representing a Document. - The document you want to modify. - The update definition for the document. - - - - Updates the property field with the given value update a property field in entities. - - The type representing a Document. - The type of the field. - The document you want to modify. - The field selector. - The new value of the property field. - - - - Updates the property field with the given value update a property field in entities. - - The type representing a Document. - The type of the field. - The document you want to modify. - The field selector. - The new value of the property field. - - - - Updates the property field with the given value update a property field in entities. - - The type representing a Document. - The type of the field. - The document filter. - The field selector. - The new value of the property field. - The value of the partition key. - - - - For the entity selected by the filter, updates the property field with the given value. - - The type representing a Document. - The type of the field. - The document filter. - The field selector. - The new value of the property field. - The partition key for the document. - - - - Updates the property field with the given value update a property field in entities. - - The type representing a Document. - The type of the field. - The document filter. - The field selector. - The new value of the property field. - The value of the partition key. - - - - For the entity selected by the filter, updates the property field with the given value. - - The type representing a Document. - The type of the field. - The document filter. - The field selector. - The new value of the property field. - The partition key for the document. - - - - The interface exposing deletion functionality for Key typed repositories. - - The type of the document Id. - - - - Deletes a document. - - The type representing a Document. - The document you want to delete. - The number of documents deleted. - - - - Asynchronously deletes a document matching the condition of the LINQ expression filter. - - The type representing a Document. - The document you want to delete. - The number of documents deleted. - - - - Deletes a document matching the condition of the LINQ expression filter. - - The type representing a Document. - A LINQ expression filter. - An optional partition key. - The number of documents deleted. - - - - Asynchronously deletes a document matching the condition of the LINQ expression filter. - - The type representing a Document. - A LINQ expression filter. - An optional partition key. - The number of documents deleted. - - - - Asynchronously deletes the documents matching the condition of the LINQ expression filter. - - The type representing a Document. - A LINQ expression filter. - An optional partition key. - The number of documents deleted. - - - - Asynchronously deletes a list of documents. - - The type representing a Document. - The list of documents to delete. - The number of documents deleted. - - - - Deletes a list of documents. - - The type representing a Document. - The list of documents to delete. - The number of documents deleted. - - - - Deletes the documents matching the condition of the LINQ expression filter. - - The type representing a Document. - A LINQ expression filter. - An optional partition key. - The number of documents deleted. - - - - The interface exposing index management functionality for Key typed repositories. - - - - - - Returns the names of the indexes present on a collection. - - The type representing a Document. - An optional partition key - A list containing the names of the indexes on on the concerned collection. - - - - Create a text index on the given field. - IndexCreationOptions can be supplied to further specify - how the creation should be done. - - The type representing a Document. - The field we want to index. - Options for creating an index. - An optional partition key. - The result of the create index operation. - - - - Creates an index on the given field in ascending order. - IndexCreationOptions can be supplied to further specify - how the creation should be done. - - The type representing a Document. - The field we want to index. - Options for creating an index. - An optional partition key. - The result of the create index operation. - - - - Creates an index on the given field in descending order. - IndexCreationOptions can be supplied to further specify - how the creation should be done. - - The type representing a Document. - The field we want to index. - Options for creating an index. - An optional partition key. - The result of the create index operation. - - - - Creates a hashed index on the given field. - IndexCreationOptions can be supplied to further specify - how the creation should be done. - - The type representing a Document. - The field we want to index. - Options for creating an index. - An optional partition key. - The result of the create index operation. - - - - Creates a combined text index. - IndexCreationOptions can be supplied to further specify - how the creation should be done. - - The type representing a Document. - The fields we want to index. - Options for creating an index. - An optional partition key. - The result of the create index operation. - - - - Drops the index given a field name - - The type representing a Document. - The name of the index - An optional partition key - - - - The interface exposing all the CRUD and Index functionalities for Key typed repositories. - - The type of the document Id. - - - - The base Repository, it is meant to be inherited from by your custom custom MongoRepository implementation. - Its constructor must be given a connection string and a database name. - - - - - The connection string. - - - - - The database name. - - - - - The MongoDbContext - - - - - A MongoDb Reader for read operations - - - - - The constructor taking a connection string and a database name. - - The connection string of the MongoDb server. - The name of the database against which you want to perform operations. - - - - The contructor taking a . - - A mongodb context implementing - - - - The contructor taking a . - - A mongodb context implementing - - - - Asynchronously returns one document given its id. - - The type representing a Document. - The Id of the document you want to get. - An optional partition key. - - - - Returns one document given its id. - - The type representing a Document. - The Id of the document you want to get. - An optional partition key. - - - - Asynchronously returns one document given an expression filter. - - The type representing a Document. - A LINQ expression filter. - An optional partition key. - - - - Returns one document given an expression filter. - - The type representing a Document. - A LINQ expression filter. - An optional partition key. - - - - Returns a collection cursor. - - The type representing a Document. - A LINQ expression filter. - An optional partition key. - - - - Returns true if any of the document of the collection matches the filter condition. - - The type representing a Document. - A LINQ expression filter. - An optional partition key. - - - - Returns true if any of the document of the collection matches the filter condition. - - The type representing a Document. - A LINQ expression filter. - An optional partition key. - - - - Asynchronously returns a list of the documents matching the filter condition. - - The type representing a Document. - A LINQ expression filter. - An optional partition key. - - - - Returns a list of the documents matching the filter condition. - - The type representing a Document. - A LINQ expression filter. - An optional partition key. - - - - Asynchronously counts how many documents match the filter condition. - - The type representing a Document. - A LINQ expression filter. - An optional partitionKey - - - - Counts how many documents match the filter condition. - - The type representing a Document. - A LINQ expression filter. - An optional partitionKey - - - - Gets the document with the maximum value of a specified property in a MongoDB collections that is satisfying the filter. - - The document type. - A LINQ expression filter. - A property selector to order by descending. - An optional partitionKey. - - - - Gets the document with the maximum value of a specified property in a MongoDB collections that is satisfying the filter. - - The document type. - A LINQ expression filter. - A property selector to order by descending. - An optional partitionKey. - - - - - Gets the document with the maximum value of a specified property in a MongoDB collections that is satisfying the filter. - - The document type. - A LINQ expression filter. - A property selector to order by ascending. - An optional partitionKey. - - - - Gets the document with the maximum value of a specified property in a MongoDB collections that is satisfying the filter. - - The document type. - A LINQ expression filter. - A property selector to order by ascending. - An optional partitionKey. - - - - Gets the maximum value of a property in a mongodb collections that is satisfying the filter. - - The document type. - The type of the value used to order the query. - A LINQ expression filter. - A property selector to order by ascending. - An optional partitionKey. - - - - Gets the maximum value of a property in a mongodb collections that is satisfying the filter. - - The document type. - The type of the value used to order the query. - A LINQ expression filter. - A property selector to order by ascending. - An optional partitionKey. - - - - Gets the minimum value of a property in a mongodb collections that is satisfying the filter. - - The document type. - The type of the value used to order the query. - A LINQ expression filter. - A property selector to order by ascending. - An optional partition key. - - - - Gets the minimum value of a property in a mongodb collections that is satisfying the filter. - - The document type. - The type of the value used to order the query. - A LINQ expression filter. - A property selector to order by ascending. - An optional partition key. - - - - Sums the values of a selected field for a given filtered collection of documents. - - The type representing a Document. - A LINQ expression filter. - The field you want to sum. - The partition key of your document, if any. - - - - Sums the values of a selected field for a given filtered collection of documents. - - The type representing a Document. - A LINQ expression filter. - The field you want to sum. - The partition key of your document, if any. - - - - Sums the values of a selected field for a given filtered collection of documents. - - The type representing a Document. - A LINQ expression filter. - The field you want to sum. - The partition key of your document, if any. - - - - Sums the values of a selected field for a given filtered collection of documents. - - The type representing a Document. - A LINQ expression filter. - The field you want to sum. - The partition key of your document, if any. - - - - Asynchronously returns a projected document matching the filter condition. - - The type representing a Document. - The type of the primary key for a Document. - The type representing the model you want to project to. - A LINQ expression filter. - The projection expression. - An optional partition key. - - - - Returns a projected document matching the filter condition. - - The type representing a Document. - The type representing the model you want to project to. - A LINQ expression filter. - The projection expression. - An optional partition key. - - - - Asynchronously returns a list of projected documents matching the filter condition. - - The type representing a Document. - The type representing the model you want to project to. - A LINQ expression filter. - The projection expression. - An optional partition key. - - - - Asynchronously returns a list of projected documents matching the filter condition. - - The type representing a Document. - The type representing the model you want to project to. - A LINQ expression filter. - The projection expression. - An optional partition key. - - - - Groups a collection of documents given a grouping criteria, - and returns a dictionary of listed document groups with keys having the different values of the grouping criteria. - - The type representing a Document. - The type of the grouping criteria. - The type of the projected group. - The grouping criteria. - The projected group result. - The partition key of your document, if any. - - - - Groups filtered a collection of documents given a grouping criteria, - and returns a dictionary of listed document groups with keys having the different values of the grouping criteria. - - The type representing a Document. - The type of the grouping criteria. - The type of the projected group. - A LINQ expression filter. - The grouping criteria. - The projected group result. - The partition key of your document, if any. - - - - Asynchronously returns a paginated list of the documents matching the filter condition. - - The type representing a Document. - A LINQ expression filter. - The property selector. - Order of the sorting. - The number of documents you want to skip. Default value is 0. - The number of documents you want to take. Default value is 50. - An optional partition key. - - - - Asynchronously returns a paginated list of the documents matching the filter condition. - - The type representing a Document. - A LINQ expression filter. - The sort definition. - The number of documents you want to skip. Default value is 0. - The number of documents you want to take. Default value is 50. - An optional partition key. - - - - Asynchronously Updates a document. - - The type representing a Document. - The document with the modifications you want to persist. - - - - Updates a document. - - The type representing a Document. - The document with the modifications you want to persist. - - - - Takes a document you want to modify and applies the update you have defined in MongoDb. - - The type representing a Document. - The document you want to modify. - The update definition for the document. - - - - Takes a document you want to modify and applies the update you have defined in MongoDb. - - The type representing a Document. - The document you want to modify. - The update definition for the document. - - - - Updates the property field with the given value update a property field in entities. - - The type representing a Document. - The type of the field. - The document you want to modify. - The field selector. - The new value of the property field. - - - - Updates the property field with the given value update a property field in entities. - - The type representing a Document. - The type of the field. - The document you want to modify. - The field selector. - The new value of the property field. - - - - Updates the property field with the given value update a property field in entities. - - The type representing a Document. - The type of the field. - The document filter. - The field selector. - The new value of the property field. - The value of the partition key. - - - - For the entity selected by the filter, updates the property field with the given value. - - The type representing a Document. - The type of the field. - The document filter. - The field selector. - The new value of the property field. - The partition key for the document. - - - - Updates the property field with the given value update a property field in entities. - - The type representing a Document. - The type of the field. - The document filter. - The field selector. - The new value of the property field. - The value of the partition key. - - - - For the entity selected by the filter, updates the property field with the given value. - - The type representing a Document. - The type of the field. - The document filter. - The field selector. - The new value of the property field. - The partition key for the document. - - - - This class represents a basic document that can be stored in MongoDb. - Your document must implement this class in order for the MongoDbRepository to handle them. - - - - - The document constructor - - - - - The Id of the document - - - - - The datetime in UTC at which the document was added. - - - - - The version of the schema of the document - - - - - This class represents a basic document that can be stored in MongoDb. - Your document must implement this class in order for the MongoDbRepository to handle them. - - - - - The Primary Key, which must be decorated with the [BsonId] attribute - if you want the MongoDb C# driver to consider it to be the document ID. - - - - - A version number, to indicate the version of the schema. - - - - - This class represents a basic document that can be stored in MongoDb. - Your document must implement this class in order for the MongoDbRepository to handle them. - - - - - Options for creating an index. - - - - - Gets or sets a value indicating whether the index is a unique index. - - - - - Gets or sets the index version for text indexes. - - - - - Gets or sets the index version for 2dsphere indexes. - - - - - Gets or sets a value indicating whether the index is a sparse index. - - - - - Gets or sets the index name. - - - - - Gets or sets the min value for 2d indexes. - - - - - Gets or sets the max value for 2d indexes. - - - - - Gets or sets the language override. - - - - - Gets or sets when documents expire (used with TTL indexes). - - - - - Gets or sets the default language. - - - - - Gets or sets the size of a geohash bucket. - - - - - Gets or sets the precision, in bits, used with geohash indexes. - - - - - Gets or sets a value indicating whether to create the index in the background. - - - - - Gets or sets the version of the index. - - - - - This class represents a document that can be inserted in a collection that can be partitioned. - The partition key allows for the creation of different collections having the same document schema. - This can be useful if you are planning to build a Software as a Service (SaaS) Platform, or if you want to reduce indexing. - You could for example insert Logs in different collections based on the week and year they where created, or their Log category/source. - - - - - The partition key used to partition your collection. - - - - - This class represents a document that can be inserted in a collection that can be partitioned. - The partition key allows for the creation of different collections having the same document schema. - This can be useful if you are planning to build a Software as a Service (SaaS) Platform, or if you want to reduce indexing. - You could for example insert Logs in different collections based on the week and year they where created, or their Log category/source. - - - - - The constructor, it needs a partition key. - - - - - - The name of the property used for partitioning the collection - This will not be inserted into the collection. - This partition key will be prepended to the collection name to create a new collection. - - - - - The MongoDb context - - - - - The IMongoClient from the official MongoDB driver - - - - - The IMongoDatabase from the official MongoDB driver - - - - - The constructor of the MongoDbContext, it needs an object implementing . - - An object implementing IMongoDatabase - - - - The constructor of the MongoDbContext, it needs a connection string and a database name. - - The connections string. - The name of your database. - - - - Initialise an instance of a using a connection string - - - - - - The constructor of the MongoDbContext, it needs a connection string and a database name. - - The MongoClient. - The name of your database. - - - - Returns a collection for a document type. Also handles document types with a partition key. - - The type representing a Document. - The optional value of the partition key. - - - - Drops a collection, use very carefully. - - The type representing a Document. - - - - Sets the Guid representation of the MongoDB Driver. - - The new value of the GuidRepresentation - - - - Extracts the CollectionName attribute from the entity type, if any. - - The type representing a Document. - The name of the collection in which the TDocument is stored. - - - - Initialize the Guid representation of the MongoDB Driver. - Override this method to change the default GuidRepresentation. - - - - - Given the document type and the partition key, returns the name of the collection it belongs to. - - The type representing a Document. - The value of the partition key. - The name of the collection. - - - - Very naively pluralizes a TDocument type name. - - The type representing a Document. - The pluralized document name. - - - - The base Repository, it is meant to be inherited from by your custom custom MongoRepository implementation. - Its constructor must be given a connection string and a database name. - - - - - The constructor taking a connection string and a database name. - - The connection string of the MongoDb server. - The name of the database against which you want to perform operations. - - - - The contructor taking a . - - A mongodb context implementing - - - - The contructor taking a . - - A mongodb context implementing - - - - Asynchronously returns one document given its id. - - The type representing a Document. - The type of the primary key for a Document. - The Id of the document you want to get. - An optional partition key. - - - - Returns one document given its id. - - The type representing a Document. - The type of the primary key for a Document. - The Id of the document you want to get. - An optional partition key. - - - - Asynchronously returns one document given an expression filter. - - The type representing a Document. - The type of the primary key for a Document. - A LINQ expression filter. - An optional partition key. - - - - Returns one document given an expression filter. - - The type representing a Document. - The type of the primary key for a Document. - A LINQ expression filter. - An optional partition key. - - - - Returns a collection cursor. - - The type representing a Document. - The type of the primary key for a Document. - A LINQ expression filter. - An optional partition key. - - - - Returns true if any of the document of the collection matches the filter condition. - - The type representing a Document. - The type of the primary key for a Document. - A LINQ expression filter. - An optional partition key. - - - - Returns true if any of the document of the collection matches the filter condition. - - The type representing a Document. - The type of the primary key for a Document. - A LINQ expression filter. - An optional partition key. - - - - Asynchronously returns a list of the documents matching the filter condition. - - The type representing a Document. - The type of the primary key for a Document. - A LINQ expression filter. - An optional partition key. - - - - Returns a list of the documents matching the filter condition. - - The type representing a Document. - The type of the primary key for a Document. - A LINQ expression filter. - An optional partition key. - - - - Asynchronously counts how many documents match the filter condition. - - The type representing a Document. - The type of the primary key for a Document. - A LINQ expression filter. - An optional partitionKey - - - - Counts how many documents match the filter condition. - - The type representing a Document. - The type of the primary key for a Document. - A LINQ expression filter. - An optional partitionKey - - - - Gets the document with the maximum value of a specified property in a MongoDB collections that is satisfying the filter. - - The document type. - The type of the primary key. - A LINQ expression filter. - A property selector to order by descending. - An optional partitionKey. - - - - Gets the document with the maximum value of a specified property in a MongoDB collections that is satisfying the filter. - - The document type. - The type of the primary key. - A LINQ expression filter. - A property selector to order by descending. - An optional partitionKey. - - - - Gets the document with the minimum value of a specified property in a MongoDB collections that is satisfying the filter. - - The document type. - The type of the primary key. - A LINQ expression filter. - A property selector to order by ascending. - An optional partitionKey. - - - - Gets the document with the minimum value of a specified property in a MongoDB collections that is satisfying the filter. - - The document type. - The type of the primary key. - A LINQ expression filter. - A property selector to order by ascending. - An optional partitionKey. - - - - Gets the maximum value of a property in a mongodb collections that is satisfying the filter. - - The document type. - The type of the primary key. - The type of the value used to order the query. - A LINQ expression filter. - A property selector to select the max value. - An optional partitionKey. - - - - Gets the maximum value of a property in a mongodb collections that is satisfying the filter. - - The document type. - The type of the primary key. - The type of the value used to order the query. - A LINQ expression filter. - A property selector to order by ascending. - An optional partitionKey. - - - - Gets the minimum value of a property in a mongodb collections that is satisfying the filter. - - The document type. - The type of the primary key. - The type of the value used to order the query. - A LINQ expression filter. - A property selector to order by ascending. - An optional partition key. - - - - Gets the minimum value of a property in a mongodb collections that is satisfying the filter. - - The document type. - The type of the primary key. - The type of the value used to order the query. - A LINQ expression filter. - A property selector to order by ascending. - An optional partition key. - - - - Sums the values of a selected field for a given filtered collection of documents. - - The type representing a Document. - The type of the primary key. - A LINQ expression filter. - The field you want to sum. - The partition key of your document, if any. - - - - Sums the values of a selected field for a given filtered collection of documents. - - The type representing a Document. - The type of the primary key. - A LINQ expression filter. - The field you want to sum. - The partition key of your document, if any. - - - - Sums the values of a selected field for a given filtered collection of documents. - - The type representing a Document. - The type of the primary key. - A LINQ expression filter. - The field you want to sum. - The partition key of your document, if any. - - - - Sums the values of a selected field for a given filtered collection of documents. - - The type representing a Document. - The type of the primary key. - A LINQ expression filter. - The field you want to sum. - The partition key of your document, if any. - - - - Asynchronously returns a projected document matching the filter condition. - - The type representing a Document. - The type of the primary key for a Document. - The type representing the model you want to project to. - A LINQ expression filter. - The projection expression. - An optional partition key. - - - - Returns a projected document matching the filter condition. - - The type representing a Document. - The type of the primary key for a Document. - The type representing the model you want to project to. - A LINQ expression filter. - The projection expression. - An optional partition key. - - - - Asynchronously returns a list of projected documents matching the filter condition. - - The type representing a Document. - The type of the primary key for a Document. - The type representing the model you want to project to. - A LINQ expression filter. - The projection expression. - An optional partition key. - - - - Asynchronously returns a list of projected documents matching the filter condition. - - The type representing a Document. - The type of the primary key for a Document. - The type representing the model you want to project to. - The document filter. - The projection expression. - An optional partition key. - - - - Groups filtered a collection of documents given a grouping criteria, - and returns a dictionary of listed document groups with keys having the different values of the grouping criteria. - - The type representing a Document. - The type of the primary key for a Document. - The type of the grouping criteria. - The type of the projected group. - The grouping criteria. - The projected group result. - The partition key of your document, if any. - - - - Groups filtered a collection of documents given a grouping criteria, - and returns a dictionary of listed document groups with keys having the different values of the grouping criteria. - - The type representing a Document. - The type of the primary key for a Document. - The type of the grouping criteria. - The type of the projected group. - A LINQ expression filter. - The grouping criteria. - The projected group result. - The partition key of your document, if any. - - - - Asynchronously returns a paginated list of the documents matching the filter condition. - - The type representing a Document. - The type of the primary key for a Document. - A LINQ expression filter. - The property selector. - Order of the sorting. - The number of documents you want to skip. Default value is 0. - The number of documents you want to take. Default value is 50. - An optional partition key. - - - - Asynchronously returns a paginated list of the documents matching the filter condition. - - The type representing a Document. - The type of the primary key for a Document. - A LINQ expression filter. - The sort definition. - The number of documents you want to skip. Default value is 0. - The number of documents you want to take. Default value is 50. - An optional partition key. - - - - Gets a collections for a potentially partitioned document type. - - The document type. - The type of the primary key. - The document. - - - - - Gets a collections for a potentially partitioned document type. - - The document type. - The type of the primary key. - The collection partition key. - - - - - Gets a collections for a potentially partitioned document type. - - The document type. - The document. - - - - - Gets a collections for the type TDocument with a partition key. - - The document type. - The type of the primary key. - The collection partition key. - - - - - The IdGenerator instance, used to generate Ids of different types. - - - - - Generates a random value of a given type. - - The type of the value to generate. - A value of type TKey. - - - - Container for registered Vocabularies. At present, only a single vocabulary is supported: Default. - - - - - The default vocabulary used for singular/plural irregularities. - Rules can be added to this vocabulary and will be picked up by called to Singularize() and Pluralize(). - At this time, multiple vocabularies and removing existing rules are not supported. - - - - - A container for exceptions to simple pluralization/singularization rules. - Vocabularies.Default contains an extensive list of rules for US English. - At this time, multiple vocabularies and removing existing rules are not supported. - - - - - Adds a word to the vocabulary which cannot easily be pluralized/singularized by RegEx, e.g. "person" and "people". - - The singular form of the irregular word, e.g. "person". - The plural form of the irregular word, e.g. "people". - True to match these words on their own as well as at the end of longer words. False, otherwise. - - - - Adds an uncountable word to the vocabulary, e.g. "fish". Will be ignored when plurality is changed. - - Word to be added to the list of uncountables. - - - - Adds a rule to the vocabulary that does not follow trivial rules for pluralization, e.g. "bus" -> "buses" - - RegEx to be matched, case insensitive, e.g. "(bus)es$" - RegEx replacement e.g. "$1" - - - - Adds a rule to the vocabulary that does not follow trivial rules for singularization, e.g. "vertices/indices -> "vertex/index" - - RegEx to be matched, case insensitive, e.g. ""(vert|ind)ices$"" - RegEx replacement e.g. "$1ex" - - - - Pluralizes the provided input considering irregular words - - Word to be pluralized - Normally you call Pluralize on singular words; but if you're unsure call it with false - - - - - Singularizes the provided input considering irregular words - - Word to be singularized - Normally you call Singularize on plural words; but if you're unsure call it with false - - - - - Inflector extensions - - - - - Pluralizes the provided input considering irregular words - - Word to be pluralized - Normally you call Pluralize on singular words; but if you're unsure call it with false - - - - - Singularizes the provided input considering irregular words - - Word to be singularized - Normally you call Singularize on plural words; but if you're unsure call it with false - - - - - By default, pascalize converts strings to UpperCamelCase also removing underscores - - - - - - - Same as Pascalize except that the first character is lower case - - - - - - - Separates the input words with underscore - - The string to be underscored - - - - - Replaces underscores with dashes in the string - - - - - - - Replaces underscores with hyphens in the string - - - - - - - Extensions for the random number generator - - - - - Returns a random long from min (inclusive) to max (exclusive) - - The given random instance - The inclusive minimum bound - The exclusive maximum bound. Must be greater than min - - - - Returns a random long from 0 (inclusive) to max (exclusive) - - The given random instance - The exclusive maximum bound. Must be greater than 0 - - - - Returns a random long over all possible values of long (except long.MaxValue, similar to - random.Next()) - - The given random instance - - -